0

我正在使用 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。

4

1 回答 1

0

问题解决了。我只需要通过添加给它工作目录:

-workingdirectory "c:\path\to\scripts"

显然相对路径不起作用,就像我直接从 Windows 框中手动运行它时一样。

于 2013-09-25T22:46:58.600 回答