如何升级PowerShell
背景:
开发的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 ,为日后的运维和升级提供依据参考。