似乎SharePoint 2010仍然与PowerShell 3.0版不兼容。
我已经知道可以通过使用-v 2
开关执行PowerShell来强制兼容性,但是有一种方法可以在通过PSSession使用远程会话时强制使用此兼容模式,因为使用远程桌面是相当的只是为了启动一个shell而不切实际?
答案 0 :(得分: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。
我希望这会有所帮助。