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 10Copy
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 failsCopy
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.