本文轉自:http://www.cnblogs.com/wenBlog/p/6198354.html
背景:
開發的PowerShell 腳本需要使用Invoke-RestMethod命令,發現在老的服務器上不支持這一命令,經過查詢得知由於PS版本的問題。涉及到了PS的升級,需要介紹下PowerShell的版本。
發生錯誤如下:
簡介:
Powershell是運行在windows機器上實現系統和應用程序管理自動化的命令行腳本環境。 powershell需要.NET環境的支持,同時支持.NET對象。當前powershell有四版本,分別為1.0,2.0,3.0 ,4.0 。
如果系統是window7或者Windows Server 2008,那么PowerShell 2.0已經內置了,可以升級為3.0,4.0。
如果系統是Windows 8 或者Windows server 2012,那么PowerShell 3.0已經內置了,可以升級為4.0。
如果系統為Windows 8.1或者Windows server 2012 R2,默認是4.0。
碰巧我遇到一個使用PS腳本的地方需要使用3.0及其以上,微軟這方面的版本升級做的很好只需要簡單幾個步驟就可以實現升級,並且實現了向前兼容(很遺憾32位版本的只能向后兼容)。下面就2.0升級3.0的升級步驟進行了介紹:
Windows 7 和 Windows Server 2008 R2 內核版本同為6.1,以下步驟說明如何在運行 Windows 7 SP1 和 Windows Server 2008 R2 SP1 的機器上安裝 Windows PowerShell 3.0。
安裝准備
1. 在安裝Windows Management Framework 3.0之前,卸載任何Windows Management Framework 3.0之前的版本。
要卸載早期版本的 Windows PowerShell 3.0,請在每台安裝了早期版本的計算機上完成以下過程:
在 Windows 控制面板中,單擊“卸載程序”。 在“程序和功能”中,單擊“查看已安裝的更新”。 在“卸載更新”窗格的“Microsoft Windows”部分中,找到標題為“Microsoft Windows Management Framework 3.0 Beta (KB2506143)”的更新。 右鍵單擊“Microsoft Windows Management Framework 3.0 Beta (KB2506143)”,然后單擊“卸載”。 在“卸載更新”對話框中,單擊“是”。
請注意,您需要在卸載更新后重新啟動計算機。
安裝Windows PowerShell 3.0
1. 安裝Microsoft .NET Framework 4.0的完整安裝版本(dotNetFx40_Full_x86_x64.exe),或者,安裝Microsoft .NET Framework 4.5的完整安裝版本(dotNetFx45_Full_x86_x64.exe)。
2. 安裝Windows Management Framework 3.0的6.1內核版本安裝文件(Windows6.1-KB2506143-x64.msu)。
完成如下過程的安裝:
雙擊文件“Windows6.1-KB2506143-x64.msu”。 在“Windows 更新獨立安裝程序”對話框中,當詢問您是否安裝更新時單擊“是”。 在下載和安裝更新向導中的“請閱讀許可條款”頁上,單擊“我接受”。 在“安裝完成”頁上,單擊“立即重新啟動”立即重新啟動計算機。(必須重新啟動計算機才能使更新生效。)如果不想立即重新啟動計算機,請單擊“關閉”。如前文所述,在 Windows
PowerShell 3.0 完全安裝之前,仍需要重新啟動計算機。
3. 驗證Windows PowerShell 3.0 是否已安裝成功。
計算機重新啟動后,可以執行以下檢查來驗證 Windows PowerShell 3.0 是否已安裝:
依次單擊“開始”、“所有程序”、“附件”和“Windows PowerShell”,然后單擊“Windows PowerShell”。 在 Windows PowerShell 控制台中的命令提示符下鍵入以下命令,然后按 ENTER:
Get-Host | Select-Object Version
如果 Windows PowerShell 3.0 已安裝,您將看到如下所示輸出:
Version ------- 3.0
注意
如果服務器本身已經安裝了高版本的Windows Management Framework,比如4.5等,則不需要刪除任何東西,直接安裝Windows6.1-KB2506143-x64.msu即可。需要重啟。
總結:
本文主要是介紹在windows 2008 或者7 如何升級powershell,碰巧遇到了問題,所以將這個方案記錄下來,因為現在很多服務器都是2008r2 ,為日后的運維和升級提供依據參考。