豆子新配了个WSUS服务器,工作正常,不过比较恼人的是有时候补丁更新比较多,默认的一次重启不行,还得重启几次才能完成所有安装。如果没有及时重启安装,Windows 2012 默认会在一天之后强制自动重启,如果刚好是工作日,那就傻眼了。
怎么解决呢?豆子打算写个脚本自动检测重启状态,如果有需要的话,就发送重启命令好了。
检测重启状态的脚本网上已经有现成的了,试了试很好用。
https://gallery.technet.microsoft.com/scriptcenter/Get-PendingReboot-Query-bdb79542
下载了这个脚本之后,稍作修改,就可以实现我的需求了。
简单的测试一下,创建一个数组,放入我的服务器名字, dot source一下下载脚本,里面的局部变量就变成全局变量,这样就可以直接调用该脚本的函数。
然后比较状态重启对应服务器即可。
[email protected]("sydwsus","melfs01","sydit01") . C:\temp\Get-PendingReboot.ps1 $results=get-pendingreboot -computername $names foreach ($c in $results){ if ($c.RebootPending -eq "True") { Restart-Computer $c.Computer } }
另外,如果发现某台服务器处于倒计时的重启状态,但是条件又不允许你重启,那么可以通过关闭windows update的进程和服务来强行终止倒计时。
时间: 2024-12-28 21:20:53