2013-05-10 42 views

回答

1

如果以 -v 2启动客户端PowerShell。然后,传出的远程会话应自动在远程端使用v2。

更新:它看起来我错了 - 我想其实我已经与PowerShell团队讨论过这个问题,但显然它不是固定的。无论如何,您可以在服务器上创建会话配置,并强制为版本2.0:

PS> $psversiontable 

Name       Value 
----       ----- 
PSVersion      3.0 
WSManStackVersion    3.0 
SerializationVersion   1.1.0.1 
CLRVersion      4.0.30319.18010 
BuildVersion     6.2.9200.16434 
PSCompatibleVersions   {1.0, 2.0, 3.0} 
PSRemotingProtocolVersion  2.2 

PS> Register-PSSessionConfiguration -PSVersion '2.0' -Name "powershell2" 

接受所有提示。现在,你必须从客户端调用时通过新的远程会话配置的名称(在这个例子中,客户端和服务器在同一台机器:我的桌面)

PS> icm localhost -ConfigurationName powershell2 { $psversiontable } 

Name       Value 
----       ----- 
PSRemotingProtocolVersion  2.1 
BuildVersion     6.1.7600.16385 
PSCompatibleVersions   {1.0, 2.0} 
PSVersion      2.0 
CLRVersion      2.0.50727.6400 
WSManStackVersion    2.0 
SerializationVersion   1.1.0.1 

正如你所看到的,远程端点正在运行2.0。

我希望这会有所帮助。

+0

更新了我的答案。 – x0n 2013-05-11 00:49:41

+0

非常感谢!我可能会补充说,我收到错误“无法绑定参数'PSVersion'。无法将值“2”转换为键入“System.Version”。错误:“版本字符串部分 太短或太长。”'但使用-PSVersion'2.0'工作正常。 – jrivany 2013-05-13 11:57:46

+0

好的,修复了引号 - 谢谢。 – x0n 2013-05-13 13:33:53

相关问题