1.4 使用PowerShell管理Office 365需要做哪些准备
使用PowerShell管理Office 365的准备工作包括相关组件的下载和安装,以及解决安装过程中出现的问题。
PowerShell对以下操作系统都支持:Windows 10、Windows 8.1、Windows 8、Windows 7 Service Pack 1 (SP1)、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012、Windows Server 2008 R2 SP1。建议使用64位版本的操作系统,因为32位版本的Microsoft Azure Active Directory Module for Windows PowerShell(简称AAD Module)在2014年年底就已经不再更新了。
1.4.1 如何下载和安装公共组件
1. 安装Microsoft Online Services Sign-in Assistant
Microsoft Online Services Sign-in Assistant安装包可以从下面的地址下载:
http://www.microsoft.com/en-us/download/details.aspx?id=41950
下载之前,请确认操作系统的语言版本,如图1-12所示。建议使用64位版本的安装包。
图1-12
下载完成之后,双击安装包,选择“同意许可证以及隐私条款”复选框,并单击“下一步”按钮,就可以开始安装了。
2. 安装Microsoft Azure Active Directory Module for Windows PowerShell
接下来安装Microsoft Azure Active Directory Module for Windows PowerShell(简称AAD Module)。这个模块可以在控制台执行PowerShell命令进行安装。前提是需要用管理员权限打开PowerShell的控制台。操作步骤如下:
(1)用鼠标右键单击Windows PowerShell的菜单项,在弹出的快捷菜单中单击Run as Administrator按钮。
注意
这时打开的控制台在窗口标题栏有Administrator字样,即Administrator: Windows PowerShell,而使用普通用户权限打开的控制台在窗口标题栏仅有Windows PowerShell。
(2)执行下面的Install-Module命令,同意安装NuGet provider,并同意从PSGallery安装模块,命令和输出结果如下:
O365 PS > Install-Module MSOnline
执行完成后,就可以关闭这个PowerShell的控制台窗口了。
1.4.2 如何解决AAD Module的安装问题
使用Install-Module命令安装AAD Module时,有时会出现下面的报错信息。命令和输出结果如下:
O365 PS > Install-Module MSOnline
这个错误是由于本机的PowerShell版本过低导致的,我们可以使用下面的命令查看一下本机安装的PowerShell版本。命令和输出结果如下:
O365 PS > $PSVersionTable
注意
这里PSVersion的值是4.0,这个值也可能是3.0,都表明PowerShell版本较低。在这些低版本的PowerShell中,缺少PowerShellGet,所以无法使用Install-Module这条命令。PowerShellGet是PowerShell的安装包管理工具,是Windows组件OneGet的外壳程序,主要是为了简化PowerShell模块的包管理工作而设计的。
以下两种方法可以解决PowerShell版本过低的问题。
1. 升级低版本的PowerShell到5.1版本
下载Windows Management Framework (WFM) 5.1版本的安装包并进行安装,将目前低版本的PowerShell升级成5.1版本(这里仅考虑64位版本的操作系统)。不同操作系统所需的安装包及下载地址请参见表1-2。
表1-2
如果操作系统是Windows 7 SP1或Windows Server 2008 R2 SP1,将下载的ZIP文件解压缩后会得到一个MSU安装文件和一个PowerShell的安装脚本,建议把它们放在同一文件夹下;接着用管理员权限打开PowerShell的控制台,切换到刚才存放安装文件和脚本的文件夹下,执行Install-Wmf5.1.ps1这个安装脚本,并按照屏幕提示完成剩下的安装工作就可以了。
如果操作系统是Windows 8.1、Windows Server 2012或Windows Server 2012 R2,安装过程会更加简单一些。只需要进入下载后存放安装文件的目录中,双击并运行安装文件,按照屏幕提示完成安装工作即可。
如果操作系统的版本是Windows 7 SP1或Windows Server 2008 R2 SP1,在升级PowerShell的版本之前,需要先安装.NET Framework 4.5.2。
(1)从下面这个地址下载并安装.NETFramework 4.5.2:
https://www.microsoft.com/en-ca/download/details.aspx?id=42642
下载之前按照操作系统的语言选择安装包的语言,然后单击“下载”按钮开始下载,如图1-13所示。
图1-13
(2)如果需要先安装.NET Framework 4.5.2,在安装之前,还要记得提前卸载已经安装的WMF的3.0版本,否则会导致PSModulePath这个Windows的环境变量丢失,进而导致其他应用程序出错。我们可以提前备份系统环境变量当中的PSModulePath,并在WMF 5.1安装完成之后,再把之前备份的环境变量路径还原回去。备份系统环境变量的具体操作步骤如下:
打开控制面板Control Panel | All Control Panel Items,单击System按钮打开系统对话框,单击左侧导航栏中的Advanced system settings按钮打开系统属性对话框,在Advanced标签中单击对话框底部的Environment Varialbes按钮,打开环境变量对话框,备份System Varialbes(系统变量)项下的PSModulePath属性值,如图1-14所示。
图1-14
卸载WMF 3.0的步骤如下:首先,进入“控制面板”,找到“应用程序”,在“应用程序和功能”项下查看已经安装的更新,并将之前安装的这个更新卸载。一般情况下,在Windows 7 SP1和Windows Server 2008 R2 SP1系统中这个Windows更新的名称是KB2506143。
接下来,就可以按照之前介绍的方法安装Windows Management Framework (WFM)的5.1版本了。
2. 安装PackageManagement PowerShell Modules Preview
这种解决方法是在暂时不方便对现有低版本的PowerShell进行升级时使用的,思路是通过安装PowerShell的安装包管理工具使Active Directory Module for Windows PowerShell模块可以正常进行安装。
先从以下地址下载PackageManagement PowerShell Modules Preview:
https://www.microsoft.com/en-us/download/details.aspx?id=51451
如果操作系统是64位版本的,请下载x64版本的安装包,如图1-15所示。
图1-15
这个安装包只有英文版本。安装正常结束后,就可以使用Install-Module MSOnline这个PowerShell命令来安装Active Directory Module for Windows PowerShell了。