В предыдущих версиях PowerShell я использовал Invoke-WebRequest для загрузки файлов из HTTP. При использовании Server 2016 Nano с PowerShell 5.1 я обнаружил, что эта команда была удалена!

Как я должен загружать файлы из Интернета в практически только PowerShell OS? Я что-то пропустил? Почему Microsoft удалила это?

Я понимаю, что могу использовать команды .NET, но это гораздо больше усилий, чем одна команда.

$ PSVersionTable:

    Name                           Value
    ----                           -----
    PSEdition                      Core
    PSVersion                      5.1.14284.1000
    WSManStackVersion              3.0
    BuildVersion                   10.0.14284.1000
    SerializationVersion           1.1.0.1
    PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
    PSRemotingProtocolVersion      2.3
    CLRVersion                     4.0.30319.34011

1 ответ1

1

Invoke-WebRequest прекрасно работает в PowerShell 5.1.14393.0 в Windows 10 Pro.

PowerShell на Nano Server - это не то же самое, что версия для настольного компьютера или полного сервера, это версия PowerShell Core, а не версия для настольного компьютера. Таким образом, некоторые команды / способности будут отсутствовать при использовании Nano Server.

Из TechNet от Microsoft - «PowerShell на нано-сервере»:

Начиная с версии 5.1, PowerShell доступен в разных редакциях, которые обозначают различные наборы функций и совместимость с платформами.

  • Desktop Edition: построен на основе .NET Framework и обеспечивает совместимость со сценариями и модулями, предназначенными для версий PowerShell, работающих в полнофункциональных выпусках Windows, таких как Server Core и Windows Desktop.
  • Core Edition: построено на основе .NET Core и обеспечивает совместимость со сценариями и модулями, предназначенными для версий PowerShell, работающих в версиях Windows с ограниченным пространством, таких как Nano Server и Windows IoT.

И в разделе «Функции Windows PowerShell, недоступные в Nano Server» в той же статье:

  • Веб-командлеты {Invoke-WebRequest, Invoke-RestMethod, New-WebServiceProxy, Send-MailMessage, ConvertTo-Html}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .