Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Reminder for personal use / Use at your own risk!
- #This Script clean Win11 install.wim from Provisioned Apps, set some (German!) Registry Settings, Slipstream Driver and Windows Hoxfixes ect.
- try {
- # Set Variables -------------------------------------------------------------------------------------------------------------------------------------
- Write-Host INFO "Set Variables" -ForegroundColor Yellow
- $vPath = 'P:\Windows_WDS_Images\110_Win11\2023-11-11 Win11 Pro 23H2\'
- $mountPath = "$vPath\mount"
- $vUpdatePath = 'P:\Windows_WDS_Images\010_Nlite\01_Updates\11.23H2.x64\'
- $vVMWareTools = 'P:\Windows_WDS_Images\001_Driver\driver_import\VMware-Tools-windows-12.3.5-22544099\'
- $Workstation = $env:COMPUTERNAME
- $ScriptName = '020_Win11_WDS_Manually_Bootimage'
- $Start = Get-Date # for Timer at end of script
- # Set Standard Functions ---------------------------------------------------------------------------------------------------------------------------
- Write-Host INFO "Set Standard Functions" -ForegroundColor Yellow
- Function Push-Error {
- param($exception)
- $line = $exception.InvocationInfo.ScriptLineNumber
- $character = $exception.InvocationInfo.OffsetInLine
- Write-Error "Error and Stop:`nZeile: $line Zeichen $character`n$($exception.Exception.Message)"
- }
- # Start Prepare BootImage ----------------------------------------------------------------------------------------------------------------------
- Write-Host "Start Prepare BootImage" -ForegroundColor Yellow
- Write-Host "Set Powershell Location to $vPath" -ForegroundColor Yellow
- Set-Location $vPath
- Write-Host "Export Windows 11 Pro / Sourceindex 5 from install.org.wim" -ForegroundColor Yellow
- Dism /Get-ImageInfo /ImageFile:install.org.wim
- Dism /Export-Image /SourceImageFile:install.org.wim /SourceIndex:5 /DestinationImageFile:install.wim /CheckIntegrity
- Dism /Get-ImageInfo /ImageFile:install.wim
- if (-not(Test-Path $vPath'mount')) {
- New-Item -ItemType Directory -Path $vPath'mount' -Force -Verbose
- }
- Write-Host "Mount install.wim into mound folder / $mountPath" -ForegroundColor Yellow
- Dism /Mount-Wim /WimFile:install.wim /Mountdir:"mount" /index:1
- # Remote AppxPackages ---------------------------------------------------------------------------------------------------------------------------
- Write-Host "List AppxPackages" -ForegroundColor Yellow
- Dism /Image:"mount" /Get-ProvisionedAppxPackages |
- Select-String -Pattern "PackageName:" |
- ForEach-Object {
- "Dism /Image:`"mount`" /Remove-ProvisionedAppxPackage /PackageName:$($_.Line.Split(':')[1].Trim())"
- }
- Write-Host "Remove AppxPackages" -ForegroundColor Yellow
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.MicrosoftOfficeHub_18.2204.1141.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.People_2020.901.1724.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.WindowsFeedbackHub_2022.106.2230.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.Xbox.TCUI_1.23.28004.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxGameOverlay_1.47.2385.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxGamingOverlay_2.622.3232.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxIdentityProvider_12.50.6001.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.XboxSpeechToTextOverlay_1.17.29001.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneMusic_11.2202.46.0_neutral_~_8wekyb3d8bbwe
- Dism /Image:"mount" /Remove-ProvisionedAppxPackage /PackageName:Microsoft.ZuneVideo_2019.22020.10021.0_neutral_~_8wekyb3d8bbwe
- # Change Registry Settings ContentDeliveryManager / CloudContent --------------------------------------------------------------------------------
- Write-Host "Change Registry Settings ContentDeliveryManager" -ForegroundColor Yellow
- reg load HKU\Default_User "mount\Users\Default\NTUSER.DAT"
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SystemPaneSuggestionsEnabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name PreInstalledAppsEnabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name OemPreInstalledAppsEnabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name ContentDeliveryAllowed -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name FeatureManagementEnabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name PreInstalledAppsEverEnabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SilentInstalledAppsEnabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SoftLandingEnabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContentEnabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-310091Enabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-310092Enabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-338380Enabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-338381Enabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-338387Enabled -Value 0
- Set-ItemProperty -Path Registry::HKU\Default_User\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager -Name SubscribedContent-338388Enabled -Value 0
- Reg Unload HKU\Default_User
- Write-Host "Change Registry Settings CloudContent" -ForegroundColor Yellow
- Reg Load HKLM\WIM_SOFTWARE "mount\Windows\System32\config\SOFTWARE"
- New-Item -Path Registry::HKLM\WIM_SOFTWARE\Policies\Microsoft\Windows -Name 'CloudContent' -Force
- New-ItemProperty -PropertyType Dword -Path Registry::HKLM\WIM_SOFTWARE\Policies\Microsoft\Windows\CloudContent -Name 'DisableWindowsConsumerFeatures' -Value '00000001'
- New-ItemProperty -PropertyType Dword -Path Registry::HKLM\WIM_SOFTWARE\Policies\Microsoft\Windows\CloudContent -Name 'DisableSoftLanding' -Value '00000001'
- New-ItemProperty -PropertyType Dword -Path Registry::HKLM\WIM_SOFTWARE\Policies\Microsoft\Windows\CloudContent -Name 'DisableCloudOptimizedContent' -Value '00000001'
- New-ItemProperty -PropertyType Dword -Path Registry::HKLM\WIM_SOFTWARE\Policies\Microsoft\Windows\CloudContent -Name 'DisableConsumerAccountStateContent' -Value '00000001'
- New-ItemProperty -PropertyType Dword -Path Registry::HKLM\WIM_SOFTWARE\Policies\Microsoft\Windows\CloudContent -Name 'DisableWindowsSpotlightFeatures' -Value '00000001'
- New-ItemProperty -PropertyType Dword -Path Registry::HKLM\WIM_SOFTWARE\Policies\Microsoft\Windows\CloudContent -Name 'DisableThirdPartySuggestions' -Value '00000001'
- [GC]::Collect()
- Reg Unload HKLM\WIM_SOFTWARE
- # Enable .Net Framework 3.5 -------------------------------------------------------------------------------------------------------------------------
- Write-Host "Slipstream NetFx3" -ForegroundColor Yellow
- Dism /Image:$mountPath /Enable-Feature /FeatureName:NetFx3 /All /Source:"sources\sxs\" #/LimitAccess
- # Change System Settings in Registry ----------------------------------------------------------------------------------------------------------------
- Write-Host "Change System Settings in Registry" -ForegroundColor Yellow
- $systemRegPath = "$mountPath\Windows\System32\config\SYSTEM"
- $loadedHiveKey = "HKLM\TempHive"
- # SYSTEM-Hive laden
- reg load $loadedHiveKey $systemRegPath
- # Disable NtfsDisable8dot3NameCreation
- Set-ItemProperty -Path Registry::$loadedHiveKey\ControlSet001\Control\FileSystem -Name "NtfsDisable8dot3NameCreation" -Value 1 -Verbose
- # NTP-Servereinstellungen in der Registry konfigurieren
- New-Item -Path "Registry::$loadedHiveKey\Software\Policies\Microsoft\W32Time\Parameters" -Force -Verbose
- Set-ItemProperty -Path "Registry::$loadedHiveKey\Software\Policies\Microsoft\W32Time\Parameters" -Name "NtpServer" -Value "0.at.pool.ntp.org,1.at.pool.ntp.org,2.at.pool.ntp.org,3.at.pool.ntp.org" -Verbose
- # Netzwerkerkennungseinstellungen in der Registry konfigurieren
- New-Item -Path "Registry::$loadedHiveKey\Software\Microsoft\Windows\CurrentVersion\NcdAutoSetup" -Name 'Private' -Force -Verbose
- New-ItemProperty -Type Dword -Path "Registry::$loadedHiveKey\Software\Microsoft\Windows\CurrentVersion\NcdAutoSetup\Private" -Name 'AutoSetup' -Value 0 -Verbose
- # Remove Teams
- New-Item -Path "Registry::$loadedHiveKey\SOFTWARE\Microsoft\Windows\CurrentVersion\Communications" -Name 'ConfigureChatAutoInstall' -Force -Verbose
- New-ItemProperty -Path "Registry::$loadedHiveKey\SOFTWARE\Microsoft\Windows\CurrentVersion\Communications" -Name 'ConfigureChatAutoInstall' -Value 0 -Type DWord -Force -Verbose
- [GC]::Collect()
- Reg Unload $loadedHiveKey
- # Change Default User Settings in Registry ----------------------------------------------------------------------------------------------------------------
- # Default User NTUSER.DAT laden und ändern
- $defaultUserRegPath = "$mountPath\Users\Default\NTUSER.DAT"
- $loadedHiveKey = "HKLM\DefaultUserHive"
- Write-Host "Change Default User Settings in Registry" -ForegroundColor Yellow
- reg load $loadedHiveKey $defaultUserRegPath
- #Set thousand dot .
- Set-ItemProperty -Path "Registry::$loadedHiveKey\Control Panel\International" -Name sThousand -Value '.' -Verbose
- # Setze das standardmäßige Tastaturlayout
- Set-ItemProperty -Path "Registry::$loadedHiveKey\Keyboard Layout\Preload" -Name 1 -Value '00000c07' -Verbose
- # Setze Tastaturlayout-Substitut
- Set-ItemProperty -Path "Registry::$loadedHiveKey\Keyboard Layout\Substitutes" -Name '00000c07' -Value '00010407' -Verbose
- # Setze LegacyDefaultPrinterMode
- Set-ItemProperty -Path "Registry::$loadedHiveKey\Software\Microsoft\Windows NT\CurrentVersion\Windows" -Name "LegacyDefaultPrinterMode" -Value 1 -Verbose
- # Remove OneDriveSetup
- Remove-ItemProperty -Path Registry::$loadedHiveKey\Software\Microsoft\Windows\CurrentVersion\Run -Name 'OneDriveSetup' -Verbose
- [GC]::Collect()
- Reg Unload $loadedHiveKey
- # Remove OneDrive Setup in File and Registry --------------------------------------------------------------------------------------------------------
- Write-Host "Remove OneDrive Setup in File and Registry" -ForegroundColor Yellow
- Remove-Item -Path $mountPath'\Users\Default\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\OneDrive.lnk' -Force -Verbose -ErrorAction SilentlyContinue
- Remove-Item -Path $mountPath'\Windows\System32\OneDriveSetup.exe' -Force -Verbose -ErrorAction SilentlyContinue
- Remove-Item -Path $mountPath'\Windows\SysWOW64\OneDriveSetup.exe' -Force -Verbose -ErrorAction SilentlyContinue
- # Slipstream Updates / VMware Driver ----------------------------------------------------------------------------------------------------------------
- Write-Host "Slipstream Updates" -ForegroundColor Yellow
- Dism /image:"mount" /Add-Package /Packagepath:$vUpdatePath
- Write-Host "Slipstream VMware Driver" -ForegroundColor Yellow
- Dism /Image:"mount" /Add-Driver /Driver:$vVMWareTools /recurse
- # Commit Change -------------------------------------------------------------------------------------------------------------------------------------
- Write-Host "Commit Change in install.wim" -ForegroundColor Yellow
- Dism /unmount-wim /Mountdir:"mount" /commit
- #Dism /unmount-wim /Mountdir:"mount" /discard
- Write-Host "Cleanut wim mount" -ForegroundColor Yellow
- DISM /Cleanup-Wim
- }
- catch {
- Push-Error $_
- }
- finally {
- $End = Get-Date
- $TimeSpan = New-TimeSpan -Start $Start -End $End
- $TimeSpanText = "[$Workstation] $ScriptName done in: {0:hh} hours {0:mm} minutes and {0:ss} seconds." -f $TimeSpan
- Write-Host "$TimeSpanText" -ForegroundColor Yellow
- try { stop-transcript } catch { $error.clear() }
- [GC]::Collect()
- Pause
- #Exit
- }
Advertisement
Add Comment
Please, Sign In to add comment