I am running a powershell script sensor on a remote windows machine. The script checks for logon audit failures:

$count = (get-eventlog security -after (get-date).AddDays(-1) | where {$_.instanceid -eq 4625}).count write-host "$count`:OK"

The script runs but returns "0:OK" on the sensor (and in the log), however if I run the script on the remote system it returns something different, like "6:OK"

I suspected that the script was returning a value from the PRTG host system, not the remote machine, which I verified with the following:

$hostName = hostname if($hostName -eq "PRTG"){write-host "1:OK"}else{write-host "2:OK"}

And sure enough, the sensor returned "1:OK". So despite the sensor being put in the remote system, it is not running the script on that system.

Not sure where to go from here.


Article Comments

Attention: This article is a record of a conversation with the Paessler support team. The information in this conversation is not updated to preserve the historical record. As a result, some of the information or recommendations in this conversation might be out of date.

powershell scripts with custom EXE/XML sensors are running on the remote Probe operating system. if you want the script running on another machine you need to use Remote powershell.

for example

invoke-command -computername $remoteserver -scriptblock {$count = (get-eventlog security -after (get-date).AddDays(-1) | where {$_.instanceid -eq 4625}).count ; write-host "$count`:OK"}

the variable $remoteserver can be filled with the prtg host variable. So you can use the same script for all devices.


Mar, 2019 - Permalink

Thanks for chiming in! :)


PRTGapi | Feature Requests | WMI Issues | SNMP Issues

Kind regards,
Stephan Linke, Tech Support Team


Mar, 2019 - Permalink

Hi there

Did you get this working?

Would you be able to share the finished script please.. I am really struggling to figure this out.

Kind regards Chad


Mar, 2020 - Permalink