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