彻底禁用win10更新功能及其powershell代码

Posted EbowTang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了彻底禁用win10更新功能及其powershell代码相关的知识,希望对你有一定的参考价值。

以下禁用步骤实际上是微软提供的方法,亲测有效:

一,禁用windows Update的更新,参考步骤如下:

1.     在windows logo右键输入:gpedit.msc打开本地组策略

2,路径:计算机配置-管理模板-Windows组件-Windows 更新

策略名称:指定internal Microsoft更新服务日志

设置 :Enabled (只需要配置错误的URL,例如“ ..”)

3,路径:计算机配置-管理模板-Windows组件-Windows 更新

策略名称:删除使用所有 Windows 更新功能的访问权限

设置: Enabled

4,路径:计算机配置-管理模板-Windows组件-Windows 更新

策略名称:配置自动更新

设置: Disable

5,路径:计算机配置-管理模板-Windows组件-Windows 更新

策略名称:不允许更新延迟策略对 Windows 更新执行扫描

设置: Enabled

6,路径:计算机配置-管理模板-系统

策略名称:指定可选组件安装和组件修复的设置

设置: Enabled

7,设置完成过后,以管理员权限打开CMD.,执行gpupdate /force 命令。

二,将上面的操作利用powershell化,代码如下:

我将其写成了powershell函数,

#系统自动更新禁用
Function DisableWindowsUpdate 
	Write-Output "start to disable windows update"
	Stop-Service -Name "Windows Update"
	#net stop wuauserv
	#sc config wuauserv start=disable
	#net stop trustedinstaller
	#sc config trustedinstaller start=disable
	#组策略1:启用指定internal Microsoft更新服务位置
	If (!(Test-Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU")) 
		New-Item -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU" -Force | Out-Null
	
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU" -Name "UseWUServer" -Type DWord -Value 1
	#组策略2:禁用配置自动更新
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU" -Name "NoAutoUpdate" -Type DWord -Value 1
	#组策略3:删除使用所有 Windows 更新功能的访问权限
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU" -Name "SetDisableUXWUAccess" -Type DWord -Value 1
	
	#组策略1:故意执行错误配置
	If (!(Test-Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate")) 
		New-Item -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate" -Force | Out-Null
	
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate" -Name "WUServer" -Type String -Value "..."
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate" -Name "WUStatusServer" -Type String -Value "..."
	#组策略4:不允许更新延迟策略对 Windows 更新执行扫描
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate" -Name "DisableDualScan" -Type DWord -Value 1
	#组策略5:策略名称:指定可选组件安装和组件修复的设置
	If (!(Test-Path "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Servicing")) 
		New-Item -Path "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Servicing" -Force | Out-Null
	
	Set-ItemProperty -Path "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Servicing" -Name "RepairContentServerSource" -Type DWord -Value 2
	Set-ItemProperty -Path "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Servicing" -Name "UseWindowsUpdate" -Type DWord -Value 2
	Write-Output "disable windows update successful"

#系统自动更新禁用的反向操作
Function EnableWindowsUpdate 
	Write-Output "start to enable windows update"
	Start-Service -Name "Windows Update"
	#组策略1:禁用指定internal Microsoft更新服务位置
	If (!(Test-Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU")) 
		New-Item -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU" -Force | Out-Null
	
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU" -Name "UseWUServer" -Type DWord -Value 0
	#组策略2:启动配置自动更新
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU" -Name "NoAutoUpdate" -Type DWord -Value 0
	#组策略3:不删除使用所有 Windows 更新功能的访问权限
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate\\AU" -Name "SetDisableUXWUAccess" -Type DWord -Value 0
	
	#组策略1:恢复错误配置
	If (!(Test-Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate")) 
		New-Item -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate" -Force | Out-Null
	
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate" -Name "WUServer" -Type String -Value ""
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate" -Name "WUStatusServer" -Type String -Value ""
	#组策略4:允许更新延迟策略对 Windows 更新执行扫描
	Set-ItemProperty -Path "HKLM:\\SOFTWARE\\Policies\\Microsoft\\Windows\\WindowsUpdate" -Name "DisableDualScan" -Type DWord -Value 0
	#组策略5:策略名称:指定可选组件安装和组件修复的设置
	If (!(Test-Path "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Servicing")) 
		New-Item -Path "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Servicing" -Force | Out-Null
	
	Remove-ItemProperty -Path "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Servicing" -Name "RepairContentServerSource"
	Remove-ItemProperty -Path "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Servicing" -Name "UseWindowsUpdate"
	Write-Output "enable windows update successful"

三,制作成工具

注意:必须在windows未检测到补丁的情况下执行本功能项,如果已经检测到补丁需要下载,请先将其完成更新。

禁用后表现为如下现象,将永远无法找到补丁源: 

如果你需要重新开启自动更新功能,可以使用该工具解除禁用

 解除禁用后重启即可恢复下载补丁

四,工具的下载链接和源代码如下:

阿里云盘链接(有源码):https://www.aliyundrive.com/s/fTSZMmQc4WM

百度网盘链接:https://pan.baidu.com/s/1QnoYc4BKsLswKhbij_Do8g 
提取码:r8lv 

以上是关于彻底禁用win10更新功能及其powershell代码的主要内容,如果未能解决你的问题,请参考以下文章

Win10如何彻底禁用小娜?彻底禁用小娜的方法

windows powershell怎么关闭

WIN10彻底关闭自动更新

如何彻底关闭 Windows 10 自动更新

怎么永久彻底关闭windows 10自动更新

Win10 禁用 WPS 各个软件的自动更新