7

我剛安裝了新的PowerShell 3我的Windows 7機器上,比我發現PowerShell中的新版本不會與2010年的Sharepoint如何在PowerShell v2中加載Powershell ISE 3?

工作,我也發現了這個問題(herehere)的解決方案。但它只解決了標準PowerShell控制檯的問題。當我們通過ISE完成大部分工作時,我想知道是否可以在ISE中做同樣的事情?

我試着添加版本參數,但是ISE不知道它。我試圖在ISE的控制檯中輸入powershell -version 2,但它沒有幫助。

如果不可能,我還有一個問題:我需要在Sharepoint 2010中使用ISE,那麼如何卸載powershell 3和新的ISE?

+0

你需要找出是否ISE足夠定製什麼,所以當它啓動裏面你PowerShell會話可以爲powershell命令提供一個命令行參數。我將不得不安裝新的ISE並自己看看。否則,你可能會停留在ISE中編輯腳本,但使用手動啓動的控制檯在外部測試。 – Roman

+0

我看着設置,我找不到有用的東西。所以也許可以通過一些代碼定製,也許在配置文件中。但我不知道任何關於這樣的定製......現在看來我被卡住:( – jumbo

+0

我沒有嘗試快速創建一個powershell_ise.exe.config文件按[強制應用程序...](http:///stackoverflow.com/questions/2046089/force-an-application-to-run-under-specific-net-runtime-version)。我認爲該文件夾受到某種程度的保護,我將盡快進行研究。 – Roman

回答

6

當安裝Windows Management Framework 3.0更新(它包含PS 3.0)時,這是一個已知問題,因爲它使用.net 4.0使所有SP2010 cmdlet(它們都是3.5)不兼容。

控制檯應用程序可以接受「-version 2」開關,但正如指出的那樣,這與ISE不兼容。

這是一個known issue,另一article表明卸載WMF更新並重新啓動服務器,我認爲這是唯一真正的回答你的問題的最後一部分。

+0

感謝您的鏈接。 – jumbo

+0

非常有幫助,謝謝:) –

0

您可以通過創建新的PSSession來做到這一點。

Register-PSSessionConfiguration -Name PS2 -PSVersion 2.0 –ShowSecurityDescriptorUI 

# Please consult system admin when your run set-item and Enable-WSManCredSSP command 
Set-Item wsman:localhost\client\trustedhosts -value * -Confirm:$false -Force 
Enable-WSManCredSSP -Role Client –DelegateComputer * -Force 
Enable-WSManCredSSP -Role Server -Force 

# For test purpose 
# Get-WSManCredSSP 
# get-item wsman:localhost\client\trustedhosts 

$cred = Get-Credential 
$session = New-PSSession -ComputerName $env:COMPUTERNAME -authentication credssp -ConfigurationName PS2 -Credential $cred 
Enter-PSSession $session 

# 2.0 runtime 
Add-PSSnapin microsoft.sharepoint.powershell 
$web = Get-SPWeb http://SPSite/ 
$web.Url 

Exit-PSSession 

Unregister-PSSessionConfiguration -Name PS2 

Disable-WSManCredSSP -Role Client 
Disable-WSManCredSSP -Role Server 

如果不退出PSSession時,你可以從PowerShell ISE中運行2.0運行命令3.