Jest jeden (znany mi) prosty sposób, aby wywołać żądanie HTTP przez PowerShell z poziomu menadżera zadań zaplanowanych w Windows. Nie trzeba przy tym tworzyć żadnych dodatkowych skryptów, czy programów. Wykorzystuję tę możliwość do uruchamiania zadań, które muszą zwyczajnie odbić jakiś adres URL w udostępnianych API. Korzystam z polecenia Invoke-WebRequest.
Utwórzmy na początek nowe zadanie zaplanowane w Harmonogramie Zadań Windows.
Interesuje nas głównie zakładka „Akcje”.
![Nowe zadanie zaplanowane](https://webroad.pl/wp-content/uploads/2021/08/nowe-zadanie-zaplanowanie.png)
Nowe zadanie zaplanowane
W nowym oknie wypełniamy w zasadzie dwa pola.
- Program/skrypt: powershell.exe
- Dodaj argumenty (opcjonalne): -Command "Invoke-WebRequest https://mojserwis/api/endpoint"
Zastępujemy adres URL według potrzeb.
![Przykład akcji odpytującej API przez HTTP](https://webroad.pl/wp-content/uploads/2021/08/web-request-przez-powershell.png)
Przykład akcji odpytującej API przez HTTP
Po dodaniu wyzwalaczy i zapisaniu zmian zadanie będzie odpytywać wskazany adres API automatycznie.
Tagi: API • http • powershell • zadanie zaplanowane