Last active
March 28, 2018 14:18
-
-
Save jNizM/036a79afb0372edf32bdf2776279ad3f to your computer and use it in GitHub Desktop.
[UNFINISHED] Create a windows 10 iso without crappy and useless windows appx packages
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<# | |
.WINDOWS 10 ENTERPRISE N | |
todo todo todo | |
.UNZIP ISO | |
-> | |
.RUN .PS1 SCRIPT | |
.CREATE ISO | |
ImgBurn (http://www.imgburn.com) | |
-> Advanced | |
-> Bootable Disc | |
-> Make Image Bootable: Check | |
-> Boot Image: etfsboot.com | |
-> Sectors to load: 8 | |
.CREATE BOOTABLE USB (FOR SECURE BOOT) | |
Rufus (https://rufus.akeo.ie) | |
-> GPT UEFI | |
-> FAT32 | |
-> 16 Kb | |
#> | |
### GLOBAL SETTINGS | |
$Host.UI.RawUI.BackgroundColor = "Black"; Clear-Host | |
$ImagePath = "D:\windows\image\install.wim" | |
$MountPath = "D:\windows\mount" | |
$FinalPath = "D:\windows\final\install.wim" | |
$Index = "4" | |
$WhiteList = @( | |
### 1607 | |
# "Microsoft.WindowsAlarms", # Alarms & Clock | |
# "Microsoft.DesktopAppInstaller", # App Installer | |
"Microsoft.WindowsCalculator", # Calculator | |
# "Microsoft.WindowsCamera", # Camera | |
# "Microsoft.WindowsFeedbackHub", # Feedback Hub | |
# "Microsoft.MicrosoftOfficeHub", # Get Office/My Office | |
# "Microsoft.SkypeApp", # Get Skype/Skype (preview)/Skype | |
# "Microsoft.Getstarted", # Get Started/Tips | |
# "Microsoft.ZuneMusic", # Groove | |
# "microsoft.windowscommunicationsapps", # Mail and Calendar | |
# "Microsoft.WindowsMaps", # Maps | |
# "Microsoft.Messaging", # Messaging | |
# "Microsoft.ZuneVideo", # Movies & TV | |
# "Microsoft.BingNews", # News | |
# "Microsoft.Office.OneNote", # OneNote | |
# "Microsoft.People", # People | |
"Microsoft.Windows.Photos", # Photos | |
# "Microsoft.MicrosoftSolitaireCollection", # Solitaire | |
# "Microsoft.MicrosoftStickyNotes", # Sticky Notes | |
"Microsoft.WindowsStore", # Store | |
# "Microsoft.WindowsSoundRecorder", # Voice Recorder | |
# "Microsoft.BingWeather", # Weather | |
# "Microsoft.XboxApp", # Xbox | |
# "Microsoft.OneConnect", # Xbox | |
# "Microsoft.StorePurchaseApp", # Xbox | |
# "Microsoft.XboxIdentityProvider", # Xbox | |
### 1703 | |
# "Microsoft.3DBuilder", # 3D Builder | |
# "Microsoft.Microsoft3DViewer", # Microsoft 3D Viewer | |
"Microsoft.MSPaint", # Paint 3D | |
# "Microsoft.Wallet", # Wallet | |
# "Microsoft.XboxGameOverlay", # Xbox | |
# "Microsoft.XboxSpeechToTextOverlay", # Xbox | |
### 1709 | |
# "Microsoft.GetHelp", # Get Help | |
# "Microsoft.Print3D", # Print 3D | |
# "Microsoft.Office.Sway", # Sway | |
"Microsoft.Xbox.TCUI", # Xbox | |
) | |
### START | |
Write-Host "Job Start: " (Get-Date).ToString() -ForegroundColor White | |
### MOUNT AN IMAGE | |
try | |
{ | |
Write-Host "Mounting Windows-Image..." -ForegroundColor Green | |
DISM /Mount-Image /ImageFile:$ImagePath /Index:$Index /MountDir:$MountPath | |
} | |
catch [Exception] | |
{ | |
Write-Host "Error: " $_.Exception.Message -ForegroundColor Red; break | |
} | |
### REMOVE UNWANTED APPX PACKAGES (WHITELIST) | |
Write-Host "Remove unwanted appx packages..." -ForegroundColor Green | |
$PackageFullName = Get-AppxProvisionedPackage -Path $MountPath | ForEach-Object | |
{ | |
if ($_.DisplayName -in $WhiteList) | |
{ | |
Write-Host "Skipped: " $_.DisplayName -ForegroundColor Yellow | |
} | |
else | |
{ | |
Write-Host "Delete: " $_.DisplayName -ForegroundColor Green | |
Remove-AppxProvisionedPackage -Path $MountPath -PackageName $_.PackageName | |
} | |
} | |
### DISABLE SPECIFIED FEATURES | |
try | |
{ | |
Write-Host "Disable specific windows features..." -ForegroundColor Green | |
DISM /Image:$MountPath /Disable-Feature /FeatureName:WorkFolders-Client | |
DISM /Image:$MountPath /Disable-Feature /FeatureName:Printing-XPSServices-Features | |
DISM /Image:$MountPath /Disable-Feature /FeatureName:Xps-Foundation-Xps-Viewer | |
DISM /Image:$MountPath /Disable-Feature /FeatureName:FaxServicesClientPackage | |
DISM /Image:$MountPath /Disable-Feature /FeatureName:Printing-Foundation-InternetPrinting-Client | |
DISM /Image:$MountPath /Disable-Feature /FeatureName:Microsoft-Windows-Printing-XPSServices-Package | |
} | |
catch [Exception] | |
{ | |
Write-Host "Error: " $_.Exception.Message -ForegroundColor Red; break | |
} | |
### UNMOUNT AND COMMIT THE CHANGES | |
try | |
{ | |
Write-Host "Unmount and commit changes..." -ForegroundColor Green | |
DISM /Unmount-Image /MountDir:$MountPath /Commit | |
} | |
catch [Exception] | |
{ | |
Write-Host "Error: " $_.Exception.Message -ForegroundColor Red; break | |
} | |
### EXPORT AND COMPRESS THE IMAGE | |
try | |
{ | |
Write-Host "Export and compress the image..." -ForegroundColor Green | |
DISM /Export-Image /SourceImageFile:$ImagePath /SourceIndex:$Index /DestinationImageFile:$FinalPath /Compress:max /CheckIntegrity | |
} | |
catch [Exception] | |
{ | |
Write-Host "Error: " $_.Exception.Message -ForegroundColor Red; break | |
} | |
### FINISH | |
Write-Host "Job End: " (Get-Date).ToString() -ForegroundColor White |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment