Подтвердить что ты не робот

Термин "Invoke-WebRequest" не распознается как имя командлета

У меня проблема с выполнением командлета Invoke-WebRequest. Я прочитал, что ~ 100% случай этого сценария - версия PS ниже 3, но это не мой случай:

Name                           Value
----                           -----
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
CLRVersion                     4.0.30319.34011
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.10208.0
PSVersion                      5.0.10208.0
SerializationVersion           1.1.0.1

Я могу добавить, что я использую ОС Windows 10 IoT Core. На самом деле, моя главная цель - выполнить простой веб-запрос, но мне интересно, почему этот командлет не работает, особенно если их больше не будет;/Я полагаю, что это может быть функция некоторых окон, таких как включение, но ее просто думаю.

Обновление

Насколько я сравнивал доступные командлеты для определенных модулей и предварительно загруженные сборки между моей обычной системой и версией IoT, похоже, что последняя версия каким-то образом вырезана, но я до сих пор не видел никаких документов для этого.

4b9b3361

Ответ 1

У меня была эта проблема на сервере Windows Server 2008 R2, потому что он работал под управлением PowerShell v2. Обновление до v4 решило проблему.

Windows Management Framework 4.0 (включает PowerShell 4.0)

Начиная с версии 5, Invoke-WebRequest все еще задокументирован.

Проверьте свою версию с помощью:

$PSVersionTable.PSVersion

Ответ 2

Попытка создать запрос так же, как и для PS версии 2 (с использованием библиотеки .net вместо командлета), не работает...

$request = [System.Net.WebRequest]::Create("https://google.com")
$request.Method = "GET"
[System.Net.WebResponse]$response = $request.GetResponse()

Ответ 3

Кажется, это удалено в PowerShell Core.

Я ищу, почему это не работает в Docker для Windows, работающем на Nano Server для Windows 2016, и ваши результаты совпадают с моими.

Ответ 5

Использование опции -UseBasicParsing в команде работает. Ниже приведена командная документация

-UseBasicParsing

Указывает, что командлет использует объект ответа для содержимого HTML без синтаксиса Document Object Model (DOM).

Этот параметр требуется, если Internet Explorer не установлен на компьютерах, например, при установке Server Core операционной системы Windows Server.