Перемикання між версіями PowerShell

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 і власне пакет WMF 3.0.

За допомогою PowerShell 3, що включає більше 2000 різних командлетів, можливо управляти і автоматизувати практично всі аспекти роботи операційної системи.

Розробники Microsoft заявляють про зворотну сумісність PowerShell 3.0 зі сценаріями написаними під PowerShell 2.0. Однак на практиці виходить так, що не всі скрипти PowerShell 2 працюють під PoSh v3 як очікується. Саме для таких случаяев в Windows існує можливість перемикання між версіями PowerShell. Природно, в системі повинні бути встановлені одночасно і PowerShell v2 і PowerShell v3. У Windows 7/2008, які були оновлені до PoSh 3, версія PowerShell 2 вже встановлена. У Windows 2012 / Windows 8 PowerShell 2.0 його потрібно встановлювати окремо.

Установка Powershell 2.0 в Windows Server 2012

Відкрийте консоль управління сервером і виберіть установку ролей і функцій (Add roles and features). У розділі функцій знайдіть і розгорніть гілку Windows PowerShell, і відзначте опцію  Windows PowerShell 2.0 Engine.

Натисніть Далі, після чого запуститься установка, після закінчення якої запустіть консоль PowerShell.

Як переключити між версіями PowerShell в Windows

Щоб дізнатися поточну версію PoSH, виконайте команду:

$ PSVersionTable

Як ви бачите значення змінної PSVersion - 3.0.

У цьому ж рядку виконайте команду:

PowerShell.exe -version 2.0

І перевірте версію Powershell:

$ PSVersionTable

PSVersion равна2.0. Щоб вийти з v2 режиму наберіть команду:

Exit

Версію Powershell можна також дізнатися за допомогою командлета

Get-host

За допомогою наступної команди можна примусово перемкнутися в PowerShell v3.

PowerShell.exe -version 3