Семейство операционных систем Windows Server 2012 и Windows 8 поставляются с установленным версией PowerShell 3.0 который входит в состав пакета Windows Management Framework 3.0 идущим в комплекте с WinRM и WMI. Для работы PowerShell 3 в более ранних версиях ОС Windows таких как Windows 2008 R2 SP1/ 2008 SP1 и Windows 7 SP1 необходимо установить .NET Framework 4, .NET 4.5 и пакет Windows Management Framework 3.0.
Ссылка на установочный пакет Windows Management Framework 3.0 на сайте Microsoft.
Итак, с помощью PowerShell v3, включающего более 2100 различных командлетов, можно автоматизировать и управлять фактически всеми параметрами работы операционной системы Windows.
Есть один момент: Microsoft заявляет об обратной совместимости PowerShell версии 3.0 со сценариями написанными под PowerShell версии 2.0. На практике получается так, что не все скрипты PowerShell v 2 работают под V3, или отрабатывают не совсем корректно.
Именно для таких вариантов в ОС Windows доступна возможность переключения между версиями PowerShell. Конечно же, в системе должны быть установлены одновременно и PowerShell v2 и PowerShell v3. В Windows 2008 и Windows 7, которые были обновлены до PowerShell 3, версия PowerShell 2 уже установлена. В Windows 2012 и Windows 8 PowerShell 2.0 нужно устанавливать дополнительно.
Итак, начинаем…
Установка Powershell 2.0 в Windows Server 2012
Для установки Powershell 2.0 в Windows Server 2012 нужно открыть консоль управления сервером и выбрать установку ролей и функций (Add roles and features – англ.). В разделе функций найдите и разверните ветку Windows PowerShell, и отметьте опцию Windows PowerShell 2.0 Engine. Затем нужно нажать кнопку Далее, после чего запустится установка, по окончании которой можно запустить консоль PowerShell.
Как переключить между версиями PowerShell в Windows
Для того, чтобы узнать текущую версию PowerShell, нужно выполнить команду:
$PSVersionTable
Как видно из результата выполнения команды в строке PSVersion стоит значение 3.0.
Для переключения в PowerShell 2.0 выполните команду:
PowerShell.exe –version 2.0
и проверяем версию PowerShell командой:
$PSVersionTable
Как видно из результата выполнения команды в строке PSVersion стоит значение 2.0.
Для того чтобы выйти из режима v2 наберите команду:
Exit
Версию Powershell можно также узнать с помощью командлета:
Get-host
Более подробную информацию о версии выдаст командлет:
$host.version
В столбце Major будет указана версия PowerShell. Так же следует обратить внимание на номер сборки и ревизии, если они имеют значение -1, то это означает, что установлена бета-версия PowerShell. В финальной сборке данные номера будут иметь значение 0.
Ну и наконец, с помощью следующей команды можно принудительно переключиться в PowerShell v3.
PowerShell.exe -version 3
В общем-то это всё, о чем я хотел рассказать вам сегодня.
Подписывайтесь на обновления блога, поделитесь записью в соцсетях и следите за новыми обзорами и статьями! Всем добра!