Вкладка Remote в ISE подключается к сеансу powershell 1.0

У меня установлен PowerShell v3, и я запускаю ISE с моей локальной рабочей станции. Когда я открываю удаленную вкладку на сервере (установлен win2K8R2 WMF 3), я, кажется, получаю сеанс PowerShell V1. Я проверил это, проверив переменную $ host.

> Name             : ServerRemoteHost Version          : 1.0.0.0
> InstanceId       : f0b4913e-95a8-4d6b-9aaa-f869a5b2a8fd UI            
> : System.Management.Automation.Internal.Host.InternalHostUserInterface
> CurrentCulture   : en-US CurrentUICulture : en-US PrivateData      : 
> IsRunspacePushed :  Runspace         :

На этом сервере установлен WMF 3.0, и когда я открываю приглашение ISE или PowerShell локально с сервера, я получаю сеанс v3.

На других машинах такое поведение не наблюдается и они запускают powershell v3 при открытии локально или через удаленную вкладку.

Я не могу решить эту проблему. Я хочу, чтобы удаленная вкладка открывала сеанс v3.

Есть предположения?


person Jason Horner    schedule 30.10.2012    source источник


Ответы (2)


Чтобы проверить, какая версия PowerShell работает, используйте переменную $PSVersionTable.

Значение в $PSVersionTable.PSVersion указывает версию PowerShell.

Вот пример содержимого переменной $ PSVersionTable.

Name                           Value
----                           -----
PSVersion                      3.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.17929
BuildVersion                   6.2.9200.16384
PSCompatibleVersions           {1.0, 2.0, 3.0}
PSRemotingProtocolVersion      2.2
person Eric Bouchard    schedule 02.11.2012

Я уверен, что исходный плакат уже сдвинулся с места, но если кто-то еще ищет ответ, вот он. Похоже, что некоторые модули проверяют версию PowerShell на соответствие и смотрят на версию ServerRemoteHost, а не на сам Powershell. Это просто дурной тон в определениях модулей. PSRemoteRegistry - один из таких примеров.

Чтобы решить проблему (или, скорее, обойти проблему), просто отредактируйте файл .psd1 для рассматриваемого модуля и измените требования к версии обратно на 1.0.

Минимальная версия ядра Windows PowerShell, необходимая для этого модуля

PowerShellVersion = '1.0'

Имя хоста Windows PowerShell, необходимого для этого модуля

PowerShellHostName = ''

Минимальная версия хоста Windows PowerShell, необходимая для этого модуля

PowerShellHostVersion = '1.0'

Проблема решена.

person user3166350    schedule 06.01.2014