# Description: # This script optimizes Windows updates by disabling automatic download and # seeding updates to other computers. # Import-Module -DisableNameChecking $PSScriptRoot\..\lib\New-FolderForced.psm1 Write-Output "Disable automatic download and installation of Windows updates" New-FolderForced -Path "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate\AU" Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate\AU" "NoAutoUpdate" 1 Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate\AU" "AUOptions" 2 Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate\AU" "ScheduledInstallDay" 0 Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\Policies\Microsoft\Windows\WindowsUpdate\AU" "ScheduledInstallTime" 3 Write-Output "Disable seeding of updates to other computers via Group Policies" New-FolderForced -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization" Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DeliveryOptimization" "DODownloadMode" 0 #echo "Disabling automatic driver update" #sp "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DriverSearching" "SearchOrderConfig" 0 $objSID = New-Object System.Security.Principal.SecurityIdentifier "S-1-1-0" $EveryOne = $objSID.Translate( [System.Security.Principal.NTAccount]).Value Write-Output "Disable 'Updates are available' message" takeown /F "$env:WinDIR\System32\MusNotification.exe" icacls "$env:WinDIR\System32\MusNotification.exe" /deny "$($EveryOne):(X)" takeown /F "$env:WinDIR\System32\MusNotificationUx.exe" icacls "$env:WinDIR\System32\MusNotificationUx.exe" /deny "$($EveryOne):(X)"