Главная

Monday, 20 November 2017

Версиoнность PowerShell.

Всем привет.

Так уже получилось что работая над ошибками в PowerShell я случайно проморгал апгрейд версии самого инструмента.

По традиции у меня была 2-я версия на моей Windows 7. Но установкой сервиспака (SP1) она в один миг поднялась до 3-й! Конечно в моем профиле PowerShell всегда в начале стоит вызов $PSVersionTable.PSVersion. Но само сообщение про текущую так примелькалось, что я его уже и не читал.)

Как обнаружил?

А наше вкусное расширение PowerTab начало вдруг выдавать ошибку вызова функции Function:TabExpansion при импорте самого модуля. Оказалось что 3-й версии PowerShell эта функция заменена на TabExpansion2.

Поэтому надо в файле PowerTab.psm1 строку

$OldTabExpansion = Get-Content Function:TabExpansion

заменить на,

$OldTabExpansion = Get-Content Function:TabExpansion2

т.е. просто добавьте 2 в конец строки.

Гуру PowerShell уже пользуются 5- версией для администрирования всего. Но и 3-я на моем рабочем месте предоставляет много возможностей. Разница межу версиями хорошо иллюстрирована здесь.

А вот сводная таблица версий PowerShell и Windows.



Версию PowerShell на вашем ПК или сервере можно узнать выполнив команду:
$PSVersionTable.PSVersion
или
Get-Host | Select-Object Version.

Если по какой то причине вам нужна версия 2.0 то в сеансе к ней можно вернуться командой:
PowerShell.exe -Version 2

Однако в этом случае будет нужен установленный пакет .NET Framework 3.5 или .NET 2.0.

Кстати проверить разрядность, 32 бита или 64, вашего окружения можно командой:
[Environment]::Is64BitProcess

Команда  вернет False если у вас 32 bits и True для 64-х соответственно.

Больше подробностей про версионность здесь.

Удачи.

1 comment:

  1. Версию PS для Win7SP1 можно поднять до 3.0 установив Windows6.1-KB2506143-x86.msu и до 4.0 Windows6.1-KB2819745-x86-MultiPkg.msu соответственно.
    При этом не забываем про .NET 4.0 и 4.5.

    ReplyDelete

А что вы думаете по этому поводу?