diff --git a/functions/public/Invoke-WPFUpdatesdefault.ps1 b/functions/public/Invoke-WPFUpdatesdefault.ps1 index dcd8898214..134282ff9a 100644 --- a/functions/public/Invoke-WPFUpdatesdefault.ps1 +++ b/functions/public/Invoke-WPFUpdatesdefault.ps1 @@ -1,14 +1,6 @@ function Invoke-WPFUpdatesdefault { - <# - - .SYNOPSIS - Resets Windows Update settings to default - - #> $ErrorActionPreference = 'SilentlyContinue' - Write-WinUtilLog -Component "Updates" -Message "Resetting Windows Update settings to default." - Write-Host "Removing Windows Update policy settings..." -ForegroundColor Green Write-WinUtilLog -Component "Updates" -Message "Removing Windows Update policy registry paths." Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Recurse -Force @@ -18,31 +10,26 @@ function Invoke-WPFUpdatesdefault { Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\DriverSearching" -Recurse -Force Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Recurse -Force - Write-Host "Showing Windows Updates in settings..." Write-WinUtilLog -Component "Updates" -Message "Showing Windows Update settings page." Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name SettingsPageVisibility - Write-Host "Reenabling Windows Update Services..." -ForegroundColor Green Write-WinUtilLog -Component "Updates" -Message "Restoring Windows Update service startup types." - Write-Host "Restored BITS to Manual." Write-WinUtilLog -Component "Updates" -Message "Restoring BITS service to Manual." Set-Service -Name BITS -StartupType Manual - Write-Host "Restored wuauserv to Manual." Write-WinUtilLog -Component "Updates" -Message "Restoring wuauserv service to Manual." Set-Service -Name wuauserv -StartupType Manual - Write-Host "Restored UsoSvc to Automatic." - Write-WinUtilLog -Component "Updates" -Message "Starting UsoSvc service and restoring startup type to Automatic." - Start-Service -Name UsoSvc + Write-WinUtilLog -Component "Updates" -Message "Restoring startup type to Automatic." Set-Service -Name UsoSvc -StartupType Automatic - Write-Host "Restored WaaSMedicSvc to Manual." Write-WinUtilLog -Component "Updates" -Message "Restoring WaaSMedicSvc service to Manual." Set-Service -Name WaaSMedicSvc -StartupType Manual - Write-Host "Enabling update related scheduled tasks..." -ForegroundColor Green + Write-WinUtilLog -Component "Updates" -Message "Enabling update related dll files." + Rename-Item -Path $Env:SystemRoot\System32\usosvc.dlle -NewName usosvc.dll + Write-WinUtilLog -Component "Updates" -Message "Enabling update related scheduled tasks." $Tasks = @@ -57,14 +44,12 @@ function Invoke-WPFUpdatesdefault { Get-ScheduledTask -TaskPath $Task | Enable-ScheduledTask -ErrorAction SilentlyContinue } - Write-Host "Windows Local Policies Reset to Default." Write-WinUtilLog -Component "Updates" -Message "Resetting local security policy to defaults with secedit." secedit /configure /cfg "$Env:SystemRoot\inf\defltbase.inf" /db defltbase.sdb - Write-Host "===================================================" -ForegroundColor Green - Write-Host "--- Windows Update Settings Reset to Default ---" -ForegroundColor Green - Write-Host "===================================================" -ForegroundColor Green + Write-WinUtilLog -Component "Updates" -Message "===================================================" + Write-WinUtilLog -Component "Updates" -Message "--- Windows Update Settings Reset to Default ---" + Write-WinUtilLog -Component "Updates" -Message "===================================================" - Write-Host "Note: You must restart your system in order for all changes to take effect." -ForegroundColor Yellow Write-WinUtilLog -Component "Updates" -Message "Windows Update default workflow completed. Restart required." } diff --git a/functions/public/Invoke-WPFUpdatesdisable.ps1 b/functions/public/Invoke-WPFUpdatesdisable.ps1 index d020d9b6ac..12065b3a34 100644 --- a/functions/public/Invoke-WPFUpdatesdisable.ps1 +++ b/functions/public/Invoke-WPFUpdatesdisable.ps1 @@ -1,66 +1,22 @@ function Invoke-WPFUpdatesdisable { - <# - - .SYNOPSIS - Disables Windows Update - - .NOTES - Disabling Windows Update is not recommended. This is only for advanced users who know what they are doing. - - #> - $ErrorActionPreference = 'SilentlyContinue' - Write-WinUtilLog -Component "Updates" -Message "Disabling Windows Update settings." - - Write-Host "Configuring registry settings..." -ForegroundColor Yellow - Write-WinUtilLog -Component "Updates" -Message "Configuring Windows Update registry policy values for disable mode." - New-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Force - - Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "NoAutoUpdate" -Type DWord -Value 1 - Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "AUOptions" -Type DWord -Value 1 - - New-Item -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config" -Force - Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config" -Name "DODownloadMode" -Type DWord -Value 0 - - Write-Host "Hiding Windows Updates from settings..." - Write-WinUtilLog -Component "Updates" -Message "Hiding Windows Update settings page." - Set-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer -Name SettingsPageVisibility -Value hide:windowsupdate - - Write-Host "Disabled BITS Service." - Write-WinUtilLog -Component "Updates" -Message "Disabling BITS service." - Set-Service -Name BITS -StartupType Disabled - - Write-Host "Disabled wuauserv Service." Write-WinUtilLog -Component "Updates" -Message "Disabling wuauserv service." Set-Service -Name wuauserv -StartupType Disabled - Write-Host "Disabled UsoSvc Service." - Write-WinUtilLog -Component "Updates" -Message "Stopping and disabling UsoSvc service." - Stop-Service -Name UsoSvc -Force + Write-WinUtilLog -Component "Updates" -Message "Disabling UsoSvc service." Set-Service -Name UsoSvc -StartupType Disabled - Remove-Item "C:\Windows\SoftwareDistribution\*" -Recurse -Force - Write-Host "Cleared SoftwareDistribution folder." - Write-WinUtilLog -Component "Updates" -Message "Cleared SoftwareDistribution folder." - - Write-Host "Disabling update related scheduled tasks..." -ForegroundColor Yellow - Write-WinUtilLog -Component "Updates" -Message "Disabling update related scheduled tasks." + Write-WinUtilLog -Component "Updates" -Message "Disabling update related dll files." - $Tasks = - '\Microsoft\Windows\InstallService\*', - '\Microsoft\Windows\UpdateOrchestrator\*', - '\Microsoft\Windows\UpdateAssistant\*', - '\Microsoft\Windows\WaaSMedic\*', - '\Microsoft\Windows\WindowsUpdate\*', - '\Microsoft\WindowsUpdate\*' + takeown /f $Env:SystemRoot\System32\usosvc.dll + icacls $Env:SystemRoot\System32\usosvc.dll /grant Everyone:F + Rename-Item -Path $Env:SystemRoot\System32\usosvc.dll -NewName usosvc.dlle - foreach ($Task in $Tasks) { - Get-ScheduledTask -TaskPath $Task | Disable-ScheduledTask -ErrorAction SilentlyContinue - } + Write-WinUtilLog -Component "Updates" -Message "Clearing SoftwareDistribution folder." + Remove-Item "C:\Windows\SoftwareDistribution\*" -Recurse -Force -ErrorAction SilentlyContinue - Write-Host "=================================" -ForegroundColor Green - Write-Host "--- Updates Are Disabled ---" -ForegroundColor Green - Write-Host "=================================" -ForegroundColor Green + Write-WinUtilLog -Component "Updates" -Message "=================================" + Write-WinUtilLog -Component "Updates" -Message "--- Updates Are Disabled ---" + Write-WinUtilLog -Component "Updates" -Message "=================================" - Write-Host "Note: You must restart your system in order for all changes to take effect." -ForegroundColor Yellow Write-WinUtilLog -Component "Updates" -Message "Windows Update disable workflow completed. Restart required." }