我的PowerShell nagios腳本,安裝在MS Windows Server 2008 64位上,有一個NRPE_NT守護進程的問題。
我聲明如下命令:
command[check_files]=cmd /c echo C:\nrpe\libexec\check_file.ps1 $ARG1$; exit($lastexitcode) | powershell.exe -command -
我設置ExecutionPolicy爲無限制,
我已經重啓NRPE_NT服務,並宣佈在控制檯命令,就像這樣:
現在,爲什麼如果我在本地運行它,它的效果很好:
C:\>cmd /c echo C:\nrpe\libexec\_file.ps1 C:\nrpe; exit($lastexitcode)| powershell.exe -command -
No file/s present with this string
但是,如果我通過check_nrpe運行它我收到此輸出:
「 - 」是用-Command參數指定:沒有其他參數-Command是允許的。
在調試模式下,上NRPE.log我可以看到這一點:
運行命令:CMD/C回波C:\ NRPE \的libexec \ check_file.ps1 C:\ NRPE; exit($ lastexitcode)| powershell.exe -command - $
命令,返回代碼0
爲什麼以這種方式,check_nrpe在端線加元字符($),脫軌整個控制完成?
在此先感謝