Использование подсистемы Windows PowerShell 2.0
Windows PowerShell предназначена для обратной совместимости с предыдущими версиями оболочки. Командлеты, поставщики, оснастки, модули и сценарии, написанные для Windows PowerShell 2.0, выполняются в более новых версиях Windows PowerShell без изменений. Однако в Microsoft .NET Framework 4 изменена политика активации среды выполнения. Основные программы Windows PowerShell, написанные для Windows PowerShell 2.0 и скомпилированные с помощью CLR 2.0, не могут выполняться без изменения в новых версиях Windows PowerShell, скомпилированных с помощью CLR 4.0 (или более поздних версий).
Подсистема Windows PowerShell 2.0 предназначена для использования только в том случае, если выполнение существующего сценария или существующей основной программы невозможно из-за несовместимости с Windows PowerShell 5.1. Примерами являются более старые версии модулей Exchange или SQL Server. Такие ситуации довольно редки.
Многие программы, требующие использования подсистемы Windows PowerShell 2.0, запускают ее автоматически. Эти инструкции предназначены для редких случаев, когда подсистему необходимо запустить вручную.
Прекращение поддержки и соображения безопасности
Поддержка Windows PowerShell 2.0 была прекращена в августе 2017 г. Дополнительные сведения см. в объявлении в блоге, посвященном PowerShell.
В Windows PowerShell 2.0 отсутствует целый ряд функций усиления защиты и обеспечения безопасности, добавленных в версии 3, 4 и 5. Настоятельно рекомендуется не использовать эту версию продукта. Дополнительные сведения см. A Comparison of Shell and Scripting Language Security и в этой записи блога.
Установка и включение требуемых программ
Перед запуском подсистемы Windows PowerShell 2.0 включите подсистему Windows PowerShell 2.0 и Microsoft .NET Framework 3.5 с пакетом обновления 1. Инструкции см. в статье Установка Windows PowerShell.
Системы, где установлена Windows Management Framework 3.0 или более поздние версии, имеют все необходимые компоненты. Никакая дополнительная настройка не требуется. Дополнительные сведения об установке Windows Management Framework см. в статье Установка и настройка WMF.
Запуск подсистемы Windows PowerShell 2.0
При запуске Windows PowerShell по умолчанию открывается самая новая версия. Для запуска Windows PowerShell с подсистемой Windows PowerShell 2.0 используйте параметр Version в PowerShell.exe
. Команду можно выполнить в любой командной строке, включая Windows PowerShell и Cmd.exe.
PowerShell.exe -Version 2
Запуск удаленного сеанса с помощью подсистемы Windows PowerShell 2.0
Чтобы запустить подсистему Windows PowerShell 2.0 в удаленном сеансе, создайте конфигурацию сеанса (которая также называется конечной точкой) на удаленном компьютере, которая загружает подсистему Windows PowerShell 2.0. Конфигурация сеанса сохраняется на удаленном компьютере; любой авторизованный пользователь может использовать ее для создания сеансов на основе Windows PowerShell 2.0.
Это сложная задача, которая обычно выполняется системным администратором.
Следующая процедура использует параметр PSVersion командлета Register-PSSessionConfiguration для создания конфигурации сеанса с подсистемой Windows PowerShell 2.0. Можно также использовать параметр PowerShellVersion командлета New-PSSessionConfigurationFile, чтобы создать файл конфигурации для сеанса, который загружает подсистему Windows PowerShell 2.0, и параметр PSVersion командлета Set-PSSessionConfiguration, чтобы изменить конфигурацию сеанса для использования подсистемы Windows PowerShell 2.0.
Дополнительные сведения о файлах конфигураций сеансов см. в разделе about_Session_Configuration_Files. Дополнительные сведения о конфигурациях сеансов см. в разделе about_Session_Configurations.
Запуск удаленного сеанса Windows PowerShell 2.0
Для создания конфигурации сеанса, требующей подсистемы Windows PowerShell 2.0, используйте параметр PSVersion командлета
Register-PSSessionConfiguration
со значением2.0
. Выполните команду на компьютере на "стороне сервера" или на принимающей стороне подключения.Следующий пример команды создает конфигурацию сеанса PS2 на компьютере Server01. Чтобы выполнить эту команду, запустите Windows PowerShell с параметром Запуск от имени администратора.
Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0
Чтобы создать на компьютере Server01 сеанс, использующий конфигурацию сеанса PS2, примените параметр ConfigurationName для командлетов, создающих удаленный сеанс, таких как New-PSSession.
При запуске сеанса, использующего конфигурацию, подсистема Windows PowerShell 2.0 автоматически загружается в него.
Следующая команда запускает сеанс на компьютере Server01, который использует конфигурацию PS2. Сеанс сохраняется в переменную
$s
.$s = New-PSSession -ComputerName Server01 -ConfigurationName PS2
Запуск фонового задания с помощью подсистемы Windows PowerShell 2.0
Чтобы запустить фоновое задание с помощью подсистемы Windows PowerShell 2.0, используйте параметр PSVersion командлета Start-Job.
Следующая команда запускает фоновое задание с помощью подсистемы Windows PowerShell 2.0:
Start-Job {Get-Process} -PSVersion 2.0
Дополнительные сведения о фоновых заданиях см. в разделе about_Jobs.