Powershell invoke-webrequest не работает - PullRequest
0 голосов
/ 09 мая 2018

У меня есть скрипт Powershell, который должен запускать Invoke-WebRequest для сайта. Я хочу использовать этот сценарий с сетевым монитором PRTG, чтобы убедиться, что веб-сервер работает и работает правильно.

В настоящее время сценарий работает с моего локального компьютера, а также с учетными данными моего домена на сервере зондов. Однако он не запускается при входе в систему с учетными данными локального администратора, что и используется PRTG.

Я сузил его до одной строки,

Invoke-WebRequest $uri -Method POST -Body $body -TimeoutSec 10

Похоже, что по какой-либо причине при использовании этой учетной записи Invoke-WebRequest не будет работать. При запуске этой строки она не выдаёт ничего, ни ошибок, ни предупреждений, ни вывода. Обе переменные $uri и $body уже определены.

Даже если я вошел в систему на сервере зондов с учетной записью PRTG локального администратора и запустил Powershell от имени другого пользователя (используя мои собственные учетные данные), он все равно ничего не может произвести.

Почему локальная учетная запись администратора не может запускать Invoke-WebRequest? Это происходит на Windows Server 2012R2 с PSVersion 4.0.

1 Ответ

0 голосов
/ 10 мая 2018

[Превращаю мой комментарий в ответ]

В Windows PowerShell Invoke-WebRequest использует механизм Internet Explorer для анализа веб-сайтов, если вы не запретите это. IE имеет множество ограничений - исходя из его модели безопасности «Надежные узлы / зоны безопасности», IE Enhanced Security, переопределяет групповую политику, возможно, больше, и похоже, что вы попробовали все остальное, и стоило попробовать протестировать это напрямую.

Этот переключатель:

Invoke-WebRequest -UseBasicParsing ....

избегает механизма IE, делает HTTP-запрос и обрабатывает ответ в C # /. Net.

Компромисс в том, что вы получаете текстовые результаты для работы и не можете получить доступ к странице через HTML DOM, не getElementByTagName() или что-либо, что требует работающего движка браузера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...