2
似乎SharePoint 2010仍与PowerShell版本3.0不兼容。使用Powershell在SharePoint远程会话上强制执行版本2
我已经意识到可以通过执行PowerShell与-v 2
开关强制兼容,但是在通过PSSession使用远程会话时强制使用此兼容模式的方法是使用远程桌面,这是非常不切实际的启动一个shell?
似乎SharePoint 2010仍与PowerShell版本3.0不兼容。使用Powershell在SharePoint远程会话上强制执行版本2
我已经意识到可以通过执行PowerShell与-v 2
开关强制兼容,但是在通过PSSession使用远程会话时强制使用此兼容模式的方法是使用远程桌面,这是非常不切实际的启动一个shell?
如果以
-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。
我希望这会有所帮助。
更新了我的答案。 – x0n 2013-05-11 00:49:41
非常感谢!我可能会补充说,我收到错误“无法绑定参数'PSVersion'。无法将值“2”转换为键入“System.Version”。错误:“版本字符串部分 太短或太长。”'但使用-PSVersion'2.0'工作正常。 – jrivany 2013-05-13 11:57:46
好的,修复了引号 - 谢谢。 – x0n 2013-05-13 13:33:53