2012-10-30 79 views
0

我安裝了PowerShell v3並從本地工作站啓動ISE。當我打開遠程選項卡到服務器(安裝win2K8R2 WMF 3)時,我似乎得到了一個powerShell V1會話。我通過檢查$ host變量來檢查這一點。ISE中的遠程選項卡連接到powershell 1.0會話

> 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會話。

有什麼想法?

回答

1

要檢查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 
0

我確定原始海報已經移動,但如果有其他人正在尋找答案,它是。似乎有些模塊檢查PowerShell版本是否符合規範,並查看ServerRemoteHost版本而不是Powershell本身。這在模塊定義中只是不好的形式。 PSRemoteRegistry就是這樣一個例子。

要解決該問題(或者說,解決該問題),只需編輯相關模塊的.psd1文件並將版本要求更改回1.0即可。

由該模塊所需的Windows PowerShell引擎的最低版本

PowerShellVersion = '1.0'

由該模塊

PowerShellHostName = ''

所需的Windows PowerShell主機的名稱此模塊所需的最低版本的Windows PowerShell主機

PowerShellHostVersio n ='1.0'

問題解決了。