Nagios检查Windows Server 2008+上的wuauserv

从Windows Server 2008+起,wuauserv不再是一直运行的服务,而是作为计划任务运行。 我不确定如何创build计划任务的确切行为,因为看起来计划是由另一个服务生成和编辑的。 在此之前,我们设置nagios只是检查正在运行的服务,以确保它接受更新。

我的问题是,如何利用nagios追踪Windows Server 2008+中的wuauserv服务的正确执行/运行,以确保它接受更新?

看起来Nagios Exchange中有很多插件来检查可用的更新 – 例如, 这个 。 我相信,我曾经用过这个 。 不过这并不是你所要求的。 这些是否存在更新,并且您询问系统是否正在检查更新。

什么可能更接近你正在寻找什么是这样的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 

(你想要检查date是在过去24小时内(默认的时间间隔是22小时),最后一个错误是0)