win1022h2 19045.5247怎么才能彻底禁掉2个更新服务
微软流氓的强迫更新一直在加强,很多方法在旧版本有效,新版本就无效了,斗争几月有余,一直在如图这2个东西,禁用后重启没问题过几天没问题 过一段时间自动恢复成手动又禁用又过一段时间恢复中无限循环{:4_675:}问下各位有没有成功彻底禁用这2个服务的方法,永久保持禁用状态不会自己变成手动,版本是下图这个旧版本有效的方法对这个新版本是无效的{:4_987:}
本帖最后由 萌新新 于 2025-2-24 04:13 编辑
你这个问题,去隔壁远景论坛搜比较好{:12_882:}提供俩工具试试
https://www.sordum.org/9470/windows-update-blocker-v1-8/
https://github.com/tsgrgo/windows-update-disabler
实在不行,注册表调几十年暂停更新也是可以的{:11_843:}
本帖最后由 aagaguai 于 2025-2-25 18:51 编辑
Windows Update Blocker,亲测对 Win7 / Win8 / Win10 / Win11 / Win Server 都有效 换 ltsc 版本{:11_838:} 本帖最后由 CLANNADAO 于 2025-2-24 15:46 编辑
萌新新 发表于 2025-2-24 03:56
你这个问题,去隔壁远景论坛搜比较好提供俩工具试试
https://www.sordum.org/9470/windows-updat ...
倒不是说他会更新,事实上2个月也没更新,但就是有种不可靠的感觉。
注册表之前禁过一种没用,刚发现其他种去试试,工具的话我知道有,但每个系统版本情况不一样,不清楚效果怕把系统搞出问题,也不知道他动了哪些东西一直不敢用,一直在试系统设置层面的禁止{:4_987:}
本帖最后由 萌新新 于 2025-2-24 18:38 编辑
CLANNADAO 发表于 2025-2-24 15:37
倒不是说他会更新,事实上2个月也没更新,但就是有种不可靠的感觉。
注册表之前禁过一种没用,刚发现其他 ...
第二个是用.bat禁用的,可以用文本编辑器打开看看{:11_837:}
以下是gpt对disable updates.bat的解释,压缩包里那个PsExec.exe是微软自己的工具
https://learn.microsoft.com/zh-cn/sysinternals/downloads/psexec
这个 .bat 文件的目的是完全禁用 Windows 更新功能,主要通过停止和禁用与更新相关的服务、删除已下载的更新文件、禁用相关的任务计划程序等手段来实现。具体步骤如下:
1. 提升权限
if not "%1"=="admin" (powershell start -verb runas '%0' admin & exit /b)
if not "%2"=="system" (powershell . '%~dp0\PsExec.exe' /accepteula -i -s -d '%0' admin system & exit /b)
这两行代码确保脚本以管理员权限和系统权限运行。
第一个 if 判断检查是否已用管理员权限运行脚本,如果没有,则以管理员权限重新启动脚本。
第二个 if 判断检查是否已用系统权限运行,如果没有,则使用 PsExec 工具以系统权限重新启动脚本。
2. 停止并禁用 Windows 更新相关服务
for %%i in (wuauserv, UsoSvc, uhssvc, WaaSMedicSvc) do (
net stop %%i
sc config %%i start= disabled
sc failure %%i reset= 0 actions= ""
)
这部分代码停止并禁用以下服务:
wuauserv:Windows 更新服务。
UsoSvc:更新服务中的用户模式驱动。
uhssvc:用于服务更新的一个组件。
WaaSMedicSvc:Windows 更新修复服务。
使用 net stop 停止这些服务,并且通过 sc config 将这些服务的启动类型设置为“禁用”。
3. 重命名 Windows 更新相关的 DLL 文件
for %%i in (WaaSMedicSvc, wuaueng) 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
)
这部分代码通过命令 takeown 获取对 DLL 文件的所有权,接着通过 icacls 命令为当前用户授予文件完全访问权限。
然后,将与更新相关的 DLL 文件(如 WaaSMedicSvc.dll 和 wuaueng.dll)重命名为 *.BAK.dll,有效地禁用它们的使用。
最后,将文件的所有权恢复为 NT SERVICE\TrustedInstaller,并移除对当前用户的访问权限。
4. 更新注册表以禁用自动更新
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
这部分代码修改注册表,禁用 WaaSMedicSvc 服务的启动和自动修复功能。
通过设置注册表键值 NoAutoUpdate 为 1,禁用自动更新功能。
5. 删除已下载的更新文件
erase /f /s /q c:\windows\softwaredistribution\*.* && rmdir /s /q c:\windows\softwaredistribution
这行代码删除了 Windows 更新下载目录中的所有文件,并删除该目录本身。
6. 禁用与更新相关的计划任务
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"
使用 PowerShell 禁用 Windows 中与更新相关的所有计划任务。这样可以防止 Windows 自动触发更新过程。
7. 完成提示
echo Finished
pause
输出 "Finished",提示脚本执行完成,并使用 pause 暂停,等待用户按键以关闭窗口。
总结
这个批处理脚本主要是通过停止服务、删除更新文件、修改注册表设置和禁用任务来彻底禁用 Windows 更新功能。请注意,这种做法可能会对系统安全性产生影响,因为更新通常包含安全补丁。
win11上有一种做法,基本没有副作用
是改注册表,把win设置中的暂停更新选项里,可以选到30年后
cmd命令
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings" /v FlightSettingsMaxPauseDays /t reg_dword /d 10240 /f
不确定win10是不是一样的,应该也有类似的方法
页:
[1]