19 grudnia 2019

PowerShell & JSON - błąd wywołania Invoke-WebRequest

Jeśli zdarza się Wam parsować dane formatu JSON, przy pomocy skryptów PowerShell, zapewne spotkaliście się z komunikatem:
"Invoke-WebRequest : The response content cannot be parsed because the Internet Explorer engine is not available, or Internet Explorer's first-launch configuration is not complete. Specify the UseBasicParsing parameter and try again."
Istnieje proste rozwiązanie problemu przy pomocy konsoli MMC i przystawki "Zasady komputer lokalny". Należy dodać przystawkę, przejść do ustawienia: "Konfiguracja komputera->Szablony administracyjne->Składniki systemu Windows->Internet Explorer->(ustawienie) Uniemożliwiaj uruchomienie Kreatora pierwszego uruchomienia". Opcję należy ustawić tak jak na obrazie ponizej:



Włączenie uruchamiania skryptów w przypadku błędu: "... cannot be loaded because running scripts is disabled on this system. For more information, see about_Execution_Policies at http://go.microsoft.c om/fwlink/?LinkID=135170" polega na uruchomieniu w konsoli PowerShell'a instrukcji:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

Poniższy, przykładowy skrypt pobiera i wyświetla aktualną cenę Bitcon'a przy pomocy publicznego API giełdy BitBay:

$request_BTC = 'https://bitbay.net/API/Public/BTCPLN/ticker.json'
Invoke-WebRequest $request_BTC | ConvertFrom-Json | Select last

Brak komentarzy:

Prześlij komentarz