推荐软件产品
twitter,facebook,ins,youtube视频下载
磨针音视频转文字
磨针免费pdf转word
磨针微信定时发文件和消息
磨针c盘清理,任何场景都能释放几十G的空间

windows10、11更新有没有必要(更新后可能无法上网),如何彻底关闭windows自动更新

话说有一天,电脑桌面没有反应,想了下有几个月都没有重启过windows了,那就重启下吧,结果重启后windows开始更新,等待了两个多小时,一直卡在某个百分比,再次重启还是这样,实在是不想等了,就重装了系统,重装后花了几个小时把常用的程序重装了一遍,心想现在应该好了吧。

结果第二天,11点的样子,上厕所回来发现外接显示器黑屏,直接打开笔记本也是黑屏,没有任何反应,只能强制关闭电源重启,好吧,重启后又碰到windows更新,这次比较顺利,花了几十分钟算是进去了,NND,一进去发现网络不可用,还好,查询了windows日志,是dns有问题,重新把DNS配置成114.114.144.144,可以上网了,但chrome打不开,用任务管理器强制杀掉没反应,最后连任务管理器本身都没有反应了,哎,折腾了两个多小时(因为实在不想重装、重装后要重新安装程序,会花很多时间),只能说更新太垃圾了,更新的功能根本没有经过稳定性测试,最后还是重装。

由于不想再次被windows更新折腾,所以花了一些时间专门研究了下windows更新,也参考了网上很多博主的方法,在此感谢他们。经过在本机这么多天的测试,发现windows更新功能是没有运行的,只要把以下代码另存为disable_update.bat,然后在此文件上点右键,以管理员权限运行即可。

 

@rem 关闭更新相关的服务
for %%i in (wuauserv, UsoSvc, uhssvc, WaaSMedicSvc) do (
	net stop %%i
	sc config %%i start= disabled
	sc failure %%i reset= 0 actions= ""
)

@rem 重命名更新相关的服务
for %%i in (WaaSMedicSvc) do (
	takeown /f C:\Windows\System32\%%i.dll && icacls C:\Windows\System32\%%i.dll /grant *S-1-1-0:F
	rename C:\Windows\System32\%%i.dll %%i_BAK.dll
	icacls C:\Windows\System32\%%i_BAK.dll /setowner "NT SERVICE\TrustedInstaller" && icacls C:\Windows\System32\%%i_BAK.dll /remove *S-1-1-0
)

@rem 关闭注册表相关的键值
reg add "HKLM\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc" /v Start /t REG_DWORD /d 4 /f
reg add "HKLM\SYSTEM\CurrentControlSet\Services\WaaSMedicSvc" /v FailureActions /t REG_BINARY /d 000000000000000000000000030000001400000000000000c0d4010000000000e09304000000000000000000 /f
reg add "HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 1 /f

@rem 删除更新时下载用的文件夹
erase /f /s /q c:\windows\softwaredistribution\*.* && rmdir /s /q c:\windows\softwaredistribution

@rem 关闭更新相关的定时任务
powershell -command "Get-ScheduledTask -TaskPath '\Microsoft\Windows\InstallService\*' | Disable-ScheduledTask; Get-ScheduledTask -TaskPath '\Microsoft\Windows\UpdateOrchestrator\*' | Disable-ScheduledTask; Get-ScheduledTask -TaskPath '\Microsoft\Windows\UpdateAssistant\*' | Disable-ScheduledTask; Get-ScheduledTask -TaskPath '\Microsoft\Windows\WaaSMedic\*' | Disable-ScheduledTask; Get-ScheduledTask -TaskPath '\Microsoft\Windows\WindowsUpdate\*' | Disable-ScheduledTask; Get-ScheduledTask -TaskPath '\Microsoft\WindowsUpdate\*' | Disable-ScheduledTask"

pause