我知道 PSWindowsUpdate,但这是一个第三方脚本,不是由 Microsoft 创建的。对于我们这些更注重安全的人来说,我想知道如何在 Windows Server 2016 及更高版本上从命令行安装所有可用的 Windows 更新,而无需进行任何 GUI 交互或使用第三方脚本模块。
肯定有一个简单(或复杂)的 PowerShell 脚本可以安装所有待处理的 Windows 更新。
任何建议将不胜感激。
答案1
如果机器注册表设置设为通过 Internet 从 Microsoft 获取 Windows 更新,那么这里有一些逻辑可以在没有您提到的本机 Windows PowerShell 模块的情况下启动 - 顺便说一下,根据我的经验,它运行良好。
我曾经在本地和远程机器上成功使用过它,过去都没有问题enter-pssession
。invoke-command
电源外壳
$WUServer = (Get-ItemProperty "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU").UseWUServer;
If ( $WUServer ) {
New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\" -Name "UseWUServer" -PropertyType DWord -Value 0 -Force;
Restart-Service -Name wuauserv -Force;
};
usoclient startinteractivescan;
如果这不起作用,您可能必须使用这样的逻辑按照指向 WSUS 服务器等的任何策略擦除所有 Windows 更新设置。
Remove-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" -Force -Confirm:$false;
Restart-Service -Name wuauserv -Force;
usoclient startinteractivescan;
支持资源
-
UseWUServer (REG_DWORD)
将此值设置为
1
以将自动更新配置为使用运行软件更新服务而不是 Windows 更新的服务器。