Docs Ping PingArk from PowerShell

Ping PingArk from PowerShell

On Windows, PowerShell pings PingArk with a single Invoke-RestMethod call. This pairs naturally with Task Scheduler, so a scheduled task that stops running raises an alert.

Before you start

You need a check and its ping URL. Create one in the dashboard, then copy the ping URL from the check page. New to PingArk? Start with the getting started guide.

Ping on success

Call the ping URL after your job finishes its work. A plain ping means success and re-arms the check for its next run.

Invoke-RestMethod -Uri "https://ping.pingark.com/ping/3f9c2a1b-7d4e-4c8a-9f1b-2e6d8a0c4b5e" -TimeoutSec 10
Copy

Report failures, starts and duration

Add a suffix to the ping URL to say more than a plain success. Call these the same way you called the success URL above. The ping API has the full reference.

https://ping.pingark.com/ping/3f9c2a1b-7d4e-4c8a-9f1b-2e6d8a0c4b5e        # success: the job finished, re-arms the timer
https://ping.pingark.com/ping/3f9c2a1b-7d4e-4c8a-9f1b-2e6d8a0c4b5e/start  # the run started, lets PingArk measure duration
https://ping.pingark.com/ping/3f9c2a1b-7d4e-4c8a-9f1b-2e6d8a0c4b5e/fail   # an explicit failure, alerts right away
https://ping.pingark.com/ping/3f9c2a1b-7d4e-4c8a-9f1b-2e6d8a0c4b5e/log    # a timeline note, never alerts
https://ping.pingark.com/ping/3f9c2a1b-7d4e-4c8a-9f1b-2e6d8a0c4b5e/$?     # a shell exit code: 0 is success, anything else fails
Copy

Set -TimeoutSec so a network problem cannot hold up the script. Ten seconds is plenty.

To report a failure, call the /fail URL from your catch block. To measure duration, call /start first and the success URL at the end.

Troubleshooting

  • In Task Scheduler, run powershell.exe with -ExecutionPolicy Bypass and the full path to your script so the task starts cleanly.
  • Wrap the ping in try and catch so a failed monitoring call never fails the task itself.