我正在使用 Nagios 检查 Windows 机器是否处于“重新启动模式”,这意味着已安装补丁,服务器现在需要重新启动。我有 2 个 PowerShell 脚本:启动脚本和处理脚本。
启动脚本检查服务器是否处于重新启动模式。如果是,它运行以下命令,启动处理脚本:
Write-Host "Reboot Required"
start-process powershell ".\sched_downtime.ps1 --reboot"
exit 1
如果它未处于重新启动模式,它将启动以下操作:
write-host "Patches Pending Installation"
start-process powershell ".\sched_downtime.ps1 --update"
exit 1
如果我从 Windows 服务器手动运行它,一切正常。如果我尝试从 Nagios 服务器运行它,请使用以下命令:
check_nrpe -H patching-test -p 5666 -c check_wu_update_status -t 120
只有第一个脚本运行。我似乎无法让脚本 1 使用 nrpe 启动脚本 2,不管我在脚本 2 中放了什么。这可能非常简单,比如创建一个空文本文件。我在 Windows Server 2008 R2 上运行 PowerShell 3。