我有 10 台加入域的 Windows 2016 服务器。我需要在这些服务器上运行 Windows 更新,但我不想登录到每一台服务器上,然后手动启动 Windows 更新。
我发现你可以这样做;
Install-Module PSWindowsUpdate
但我不知道具体怎么做。
**** 更新;感谢 duenni,这是我的最终解决方案。安装 PSWindowsUpdate 模块,然后;
Set-Item WSMan:\localhost\Client\TrustedHosts –Value * -Force
$Script = {import-module PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install -Verbose -AutoReboot | Out-File C:\PSWindowsUpdate.log}
Invoke-WUjob -ComputerName s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20 -Script $Script -Confirm:$false -RunNow
答案1
按照发行说明(点击“包详细信息”)该命令在 2.0.0 版本中Invoke-WUInstall
已被取代。Invoke-WUJob
尝试
$Script = {import-module PSWindowsUpdate; Get-WindowsUpdate -AcceptAll -Install | Out-File C:\PSWindowsUpdate.log}
Invoke-WUjob -ComputerName $computer -Script $Script -Confirm:$false -RunNow
答案2
作为 Invoke-WUInstall 的直接等效项,您实际上可以使用 Invoke-Command 调用 Get-WUInstall。
确保你拥有最新的更新程序。
将 PowerShell 的执行策略更改为 RemoteSigned。RSEP 允许 PowerShell 脚本,只要它们由受信任的发布者签名即可。输入
Set-ExecutionPolicy RemoteSigned
并按 Enter。出现提示时确认。对于 PS 2.0 导入模块 PSWindowsUpdate(3.0 之后不需要)
GetWUInstall
支持很多好的东西,但迄今为止最有用的是:
Get-WUInstall –MicrosoftUpdate –ListOnly
--> 将列出 Microsoft Update 服务器提供的更新Get-WUInstall –MicrosoftUpdate
--> 每次更新都会询问是否安装(最近非常有用)Get-WUInstall –MicrosoftUpdate –AcceptAll
--> 自动接受所有添加 –
AutoReboot
--> 更新后也会重新启动
支持更多功能,例如隐藏、取消隐藏或安装特定 KB。您可以使用它Help Get-WUInstall –full
来查看所有支持的功能。