统一部署 PowerShell 5.1

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了统一部署 PowerShell 5.1相关的知识,希望对你有一定的参考价值。

背景

昨儿开会,经理打算在公司统一部署PowerShell DSC,当然一个前提是把所有Windows 服务器的PS版本都升级到5.1的版本。现在公司的Windows服务器包括了windows 2008 R2, Windows 2012, Windows2012 R2和Windows 2016。

目标

所有的服务器都需要安装WMF5.1的补丁文件

挑战

WMF5.1根据操作系统的不同,对应了不同的KB版本,分别针对Windows 2008 R2, Windows 2012和 Windows 2012R2 形成了三个版本。windows 2016自带 PS5.1,就无需关注了。

解决方案:

方案1(windows2012和windows2012R2)

对于 Windows 2012和 Windows 2012 R2,这个问题其实很容易解决。他们分别对应的版本是 KB3191564 和 KB3191565, 这两个KB已经在windows update catalog 的网站上了,我们需要做的就是直接导入WSUS即可。

打开WSUS的服务器

技术分享图片

Actions 里面选择 Import Updates

技术分享图片

自动跳转到下载网页,选择安装ActiveX
技术分享图片

搜索对应的KB文件,添加到basket
技术分享图片

勾选导入WSUS
技术分享图片

下载完成
技术分享图片

然后在WSUS里面搜索下载的KB,批准安装即可。
技术分享图片

方案2(windows2008R2)

对于windows2008R2 来说,他不支持WSUS直接安装WMF5.1,那么怎么处理呢?我们可以通过传统的组策略+脚本的方式安装。

安装的方式有很多,豆子这次使用PowerShell开机脚本安装。网上有很多现成的安装脚本,豆子就不重复造轮子了,下载一个现成的。
https://gallery.technet.microsoft.com/scriptcenter/PowerShell-to-Install-70009e38

这个脚本可以安装msu文件和exe文件,其实本质就是通过调用wusa.exe。
创建一个新的gpo文件,配置如下。里面那个install-update.ps1就是我下载的现成脚本,后面的参数指定kb名字和安装路径。安装路径一定要确保domain computer有访问的权限,否则会报错access denied。

技术分享图片

把这个组策略分配到对应的OU上,重启Windows 2008 R2的服务器,经过漫长的等待,大概15分钟左右,测试一下powershell的版本,发现已经成功更新了。

技术分享图片

以上是关于统一部署 PowerShell 5.1的主要内容,如果未能解决你的问题,请参考以下文章

Power BI统一报表平台演示环境发布

在 Power Query 中调用 Power BI API

PowerShell ISE:调试从 power-shell 脚本调用的另一个 power-shell 脚本

PowerShell如何实现Desktop版本到5.1的升级

Help Desk Meet Power Shell

Powershell 5.1 三元数组赋值