Превключване между версии на 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

Отворете конзолата за управление на сървъра и изберете настройката на ролите и функциите (Добавете роли и функции). В секцията с функции намерете и разширете клона Windows PowerShell, и проверете опцията  Windows PowerShell 2.0 Engine.

Щракнете върху Next, след което инсталацията започва, след което стартирайте конзолата PowerShell.

Как да превключвате между версии на PowerShell на Windows

За да разберете текущата версия на PoSH, изпълнете командата:

$ PSVersionTable

Както можете да видите, стойността на променливата PSVersion е 3.0.

На същия ред изпълнете командата:

PowerShell.exe -version 2.0

И вижте версията на Powershell:

$ PSVersionTable

PSVersion е 2.0. За да излезете от режим v2, въведете командата:

изход

Версията на Powershell може да бъде намерена и с помощта на командлета.

Вземете домакин

Използвайки следната команда, можете да принудите да преминете към PowerShell v3.

PowerShell.exe -версия 3