概述
通常Windows补丁是以.msu
或.msi
文件格式提供的,想实现用户无感知升级补丁,可以使用PowerShell配合ActiveDirectory组策略对大量域环境下的Windows系统进行补丁的批量升级操作。
准备工作
- Windows Update 服务正常运行
- 下载好Windows补丁文件
共享目录
将补丁文件通过SMB共享至局域网中,该目录至少需要配置Domain User或Everyone可读权限。

PowerShell
将下面脚本另存至共享目录下,命名未:Patch-kb5051974.ps1
Start-Process -FilePath "wusa.exe" -ArgumentList "\\smb_ip_address\windows10.0-kb5051974-x64_74aa601c3966a9e1ad4efe6287550c0f0bdea59d.msu /quiet /norestart" -NoNewWindow -Wait
将smb_ip_address替换为服务器实际IP地址
批处理脚本
@echo off
::配置wuauserv服务启动
sc config "wuauserv" start= auto
sc start "wuauserv"
::拷贝PowerShell脚本至本地
copy \\smb_ip_address\Patch-kb5051974.ps1 C:\Users\%username%
::开始执行脚本
PowerShell.exe -file C:\Users\%username%\Patch-kb5051974.ps1
::删除本地PowerShell脚本
del "C:\Users\%username%\Patch-kb5051974.ps1"
::关闭wuauserv服务
sc stop "wuauserv"
sc config "wuauserv" start= disabled
将smb_ip_address替换为服务器实际IP地址,最后将该批处理脚本引用到GPO组策略即可。