从
Windows Server 2008开始,wuauserv不再是一直运行的服务,而是作为计划任务运行.我不确定如何创建计划任务的确切行为,因为计划似乎是由另一个服务生成和编辑的.在此之前,我们设置nagios来检查正在运行的服务,以确保它接受更新.
我的问题是,如何利用nagios跟踪Windows Server 2008中wuauserv服务的正确执行/运行,以确保它接受更新?
看起来在
Nagios Exchange有许多插件可以检查可用的更新 – 例如,this one.我相信我过去使用过
this one.但这并不是你所要求的;这些是否存在更新,并且您询问系统是否正在检查更新.
原文链接:https://www.f2er.com/windows/366542.html什么可能更接近你正在寻找的是这样的PowerShell脚本:
$lastcheck = Get-ItemProperty -Path Registry::"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update\Results\Detect" $lastdate=[datetime]$lastcheck.LastSuccessTime $currdate = (Get-Date) $status = new-timespan -start $lastdate -end $currdate If ($status.days -eq 0 -and $lastcheck.LastError -eq 0) { Write-Host "OK: Wuauserv last ran $lastdate." $exitcode = $status.Days } elseif ($status.days -eq 1 -and $lastcheck.LastError -eq 0) { Write-Host "WARNING: Wuauserv last ran $lastdate." $exitcode = $status.Days } else { Write-Host "CRITICAL: Wuauserv last ran $lastdate." $exitcode = 2 } exit $exitcode
(您需要检查日期是否在过去24小时内(默认时间间隔为22小时),最后一个错误为0)