I'm trying to run an Powershell script from NRPE.cfg and get the output in Nagios.

When i run the script on the local (Windows) server, everything is just fine. But when i put it in the NRPE.cfg en try to get the output in Nagios, i get an Unable to Read Output error.

Searched the internet but can't find the solution, so maybe you can help me out..

The command/script is:

command[check_veeam_dailyone]=cmd /c echo c:\install\veeam_check.ps1 ; exit($lastexitcode) | powershell.exe -ExecutionPolicy Bypass -noninteractive -noprofile -File -

When i put this on the Windows server in PowerShell, i'll get this output:

PS C:\Install> OK - Job: VeeamOne_Daily completed successfully at 10/09/2014 04:45:51.

The "PS C:\Install>" part is strange, but it does read the last job, so seems 'okay'..

But when I try to get this output in Nagios with:

root@nagios:~# /usr/lib/nagios/plugins/check_nrpe -H -t 300 -c check_veeam_dailyone

It says:

NRPE: Unable to read output

NRPE is running fine, cause when i try to get another command, like the C drive, everything is OK:

/usr/lib/nagios/plugins/check_nrpe -H -t 300 -c pdm_disk_c DISK OK - usage: C: 38717.2 MB (63.12% of total 61337.0 MB)|'disk in use'=38717.2MB; 'disk usage'=63.12%;90;95; 'disk total'=61337.0MB;

Just can't figure out whats wrong.

The script i use is this one:


Thanks for your reply!

  • Do other NRPE checks work on this host? – Keith Oct 10 '14 at 19:03
  • Yes they work, like the 'pdm_disk_c' check aboven and CPU for example, are also NRPE checks. – J2014 Oct 11 '14 at 17:37
  • Can we see the command def for check_veeam_dailyone? – Keith Oct 14 '14 at 14:46
  • Is poller/op5 host added to allowed list in nrpe.conf? – Petter H May 10 '15 at 8:18
  1. I would first try to reduce the complexity of the script to let's say...

    echo "Hello World" and see if that works.

  2. More than that, NRPE is usually ran by the user which is called nrpe (unless specified otherwise) so when you run your checks, run them from the nrpe user rather than from root.
  3. Also make sure that "dont_blame_nrpe" is set to "1" in nrpe.cfg on the monitored machine.
  4. Another thing you can try is wrapping this:

cmd /c echo c:\install\veeam_check.ps1 ; exit($lastexitcode) | powershell.exe -ExecutionPolicy Bypass -noninteractive -noprofile -File -

within a batch file (.bat) and then change the command in NRPE to something simpler like so:


Then try to run the command again and see if that works.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.