如何在没有第三方脚本的情况下从命令行安装 Windows 更新

如何在没有第三方脚本的情况下从命令行安装 Windows 更新

我知道 PSWindowsUpdate,但这是一个第三方脚本,不是由 Microsoft 创建的。对于我们这些更注重安全的人来说,我想知道如何在 Windows Server 2016 及更高版本上从命令行安装所有可用的 Windows 更新,而无需进行任何 GUI 交互或使用第三方脚本模块。

肯定有一个简单(或复杂)的 PowerShell 脚本可以安装所有待处理的 Windows 更新。

任何建议将不胜感激。

答案1

如果机器注册表设置设为通过 Internet 从 Microsoft 获取 Windows 更新,那么这里有一些逻辑可以在没有您提到的本机 Windows PowerShell 模块的情况下启动 - 顺便说一下,根据我的经验,它运行良好。

我曾经在本地和远程机器上成功使用过它,过去都没有问题enter-pssessioninvoke-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;

支持资源

  • 管理其他 Windows 更新设置

    UseWUServer (REG_DWORD)
    

    将此值设置为1以将自动更新配置为使用运行软件更新服务而不是 Windows 更新的服务器。

相关内容