ISE中的远程选项卡连接到PowerShell 1.0会话

时间:2012-10-30 19:45:14

标签: powershell-remoting powershell-v3.0 powershell-ise

我安装了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会话。

有什么想法吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

我确定原来的海报已经开始了,但是如果有人在这里寻找答案那就是。似乎有些模块会检查powershell版本是否符合规范,并查看ServerRemoteHost版本而不是Powershell本身。这只是模块定义中的错误形式。 PSRemoteRegistry就是这样一个例子。

要解决此问题(或者更确切地说,解决此问题),只需编辑相关模块的.psd1文件,然后将版本要求更改回1.0。

此模块所需的Windows PowerShell引擎的最低版本

PowerShellVersion ='1.0'

此模块所需的Windows PowerShell主机的名称

PowerShellHostName =''

此模块所需的Windows PowerShell主机的最低版本

PowerShellHostVersion ='1.0'

问题解决了。