PowerCLI由VMWare提供,是使用PowerShell管理vCenter的事实标准。在本教程中,您将学习如何从零开始:下载、安装和理解PowerCLI如何帮助您提高工作效率。
在这个过程中,您将学到:
- 如何识别您可能在传统脚本中遇到的PowerCLI的历史版本
- 如何安装最新版本的PowerCLI
- 使用VMware Code作为资源
- 如何在Windows PowerShell 5.1和PowerShell 6/7上安装VMware PowerCLI,以实现跨平台使用。
“在大多数方面,VMware PowerCLI是超级管理界面在宿主机悠久历史中最一致的界面。”
上述评论是关于PowerCLI在系统管理员工具包中的韧性和重要性的改写。这是在2019年PowerShell峰会上的VMware PowerCLI会话期间分享的。
与vSphere和VMware的交互经历了多次迭代,从最初的软件客户端、flash客户端、HTML5到flex web-client版本。在每个新版本中,界面往往以错误或缺乏功能的方式发生变化。
自动化管理本地 ESXi 主机,并使用 PowerCLI 与 VMware vCenter 轻松管理多个主机。利用 VMware 主机支持的 VMware Horizon 托管虚拟桌面。
另一方面,VMware PowerCLI 的语法在其生命周期内保持稳定,只有一个分发变更。这一重大变更是从 PowerShell snapin 转变为 PowerShell 模块。
PowerCLI 实际上是为了一致性而存在的最后一位,用于管理 VMware 产品。
从 Snapin 到无公共访问
VMware PowerCLI 的原始下载位置在一个 PowerCLI 5.1 页面链接后面。由于此限制,公众对这个工具的访问受到了限制。
PowerCLI 5.1及更早版本也是一个PSSnapin而不是模块,这使得可移植性更加困难。作为这个博客的追随者,你可能会将其视为此类工具的传统格式。由于安装步骤繁琐,Snapins更难以实现PowerCLI的大规模采用。幸运的是,截至最新版本6.0,PowerCLI被作为PowerShell模块而不是Snapin交付!
随着2015年9月PowerCLI 6.0版本的发布,游戏已经开始改变。这个版本是作为PowerShell模块发布的第一个迭代版本,总共配备了约400个cmdlet。然而,直到2017年4月20日发布的6.5.1版本,仍然需要my.vmware.com帐户才能从PowerShell Gallery获取。
在当前版本(11.3.0)的VMware PowerCLI中,该模块有将近700个cmdlet,用于对多种VMware产品进行管理。这些产品包括vCenter、vCloud Director、VMware Horizon等。
随着VMware产品组合的不断增长,cmdlet的列表也在继续增加,但经过时间考验的PowerCLI标准仍然保持着一种坚如一臂之力的一致性。

先决条件
我们准备进行演示,确保你具备所有这些先决条件,这样你就可以跟着我一起操作。
- 用于验证测试的VMware主机或vCenter服务器
- Windows、Mac或Linux客户端机器
下载VMware PowerCLI
PowerCLI项目团队的新长期家园设在此处的链接。该模块的任何社区提出的功能请求、评论和文档现在都作为SDK、API和认证资源的一部分存在于同一站点上
。如果您有任何问题或希望直接向团队提出功能请求,您可以在code.vmware.com上与PowerCLI团队和围绕此项目的社区联系。社区和VMware项目团队都对问题、关注点和新想法高度负责
。如果您想通过网络执行PowerCLI下载,PowerCLI团队提供了两种选项的直接链接:
- PowerShell模块的PowerShell Gallery链接下载和安装
- A .zip archive of the module’s contents, to be manually installed
PowerShell Gallery是下载PowerCLI最常见的方式,但zip归档也可以。请注意,您不必在此处使用PowerShell Gallery链接。您也可以通过PowerShell进行下载
在Windows PowerShell中安装VMware PowerCLI
安装PowerCLI有几种不同的方法
解压缩ZIP文件
如果您通过上述页面从网络下载了它,则需要手动安装它。您必须将PowerCLI放在PowerShell可以看到的位置。
要通过提供的zip包安装模块,您需要将内容提取到所选择的模块位置。这个位置可以是您的用户配置文件位置(用于非管理员范围),也可以是系统范围的模块文件夹。
将.zip内容提取到上述位置之一。
PowerShell Gallery
您今天可以下载和安装PowerCLI的最简单和最快的方法是在PowerShell控制台中从PowerShell Gallery下载模块。以下是使用此方法将新模块安装到PowerShell的一般步骤的快速视频。
但总的来说,您可以通过管理员的PowerShell提示执行以下操作来完成任务。
如果您想在没有管理员权限的工作站上执行PowerCLI安装,可以使用Scope
参数将模块安装到您的用户配置文件模块路径中。
在Linux上使用PowerShell 6安装VMware PowerCLI
现在,您也可以在非Windows系统上安装PowerCLI。例如,我们可以在Ubuntu上的PowerShell Core中安装PowerCLI。同样,根据您选择下载zip文件、PowerShell Gallery的网页链接或直接通过PowerShell控制台下载,安装过程会有一些不同。
解压ZIP文件
根据Linux的版本,您将把.zip文件的内容提取到不同的位置。
通过在终端中运行pwsh打开Linux上的PowerShell。使用以下命令查找潜在的PSModulePath位置:

一旦确定了要安装模块文件的位置,请将它们下载到该位置并准备解压缩。您可以将它们解压缩到/home/文件夹以供用户访问,或者解压缩到/opt/位置以供系统访问。
对于这个基于Linux的安装示例,我正在使用Ubuntu 18.04,并将使用从这里下载的.zip文件安装VMware PowerCLI 11,安装模块以供此计算机的所有用户访问。
然后,您可以导入此模块,因为模块文件现在位于您的一个$PSModulePath
位置之一,通过正常执行:
安装传统的VMware PowerCLI Snapin
有时您可能发现自己需要安装旧版PowerCLI snapin。也许您已经负责一些旧代码并且需要解决问题。为了防止重新架构您现有的脚本,安装旧的snapin是必要的。
要安装旧的snapin,您需要一个my.vmware.com账户来登录并检索VMware-PowerCLI-5.1.0-3090428.exe文件。下载后,通过正常的Windows应用程序安装执行文件来安装snapin。
然后,您可以运行Add-PSSnapin
将VMware cmdlet加载到您的会话中,或者以独立方式启动提供的VMware PowerCLI控制台。
下面您可以看到我正在使用Add-PSSnapin
cmdlet将PowerCLI版本5.1添加到我的当前控制台会话中。

启动安装的独立 VMware PowerCLI 快捷方式,该快捷方式随版本 5.1 安装。

请注意,上述的 snapin 与 PowerShell 6/7 不兼容。
验证 PowerCLI 安装
验证您的 PowerCLI 安装是否成功,无论您使用的 PowerShell 版本如何,都是相同的。首先,从 PowerShell 控制台确认模块的存在。

接下来,尝试使用 PowerCLI 使用 Connect-VIServer
命令连接到 vCenter。这不仅会验证模块是否成功安装,还会测试您是否正确连接到基础架构。
在 Windows 上

在 Linux 上
在 Linux 上验证安装时,如果遇到任何连接问题,必须首先设置连接配置以处理无效证书(或默认自签名证书)。下面我正在使用 PowerCLI 连接到 vCenter。

由于您能够成功连接到您的 VMware 终端,因此 PowerCLI 已成功启动和运行!
前进并使用 PowerCLI!
自动化超出本地 ESXi 主机,并使用 PowerCLI 与 VMware vCenter 轻松管理多个主机。使用由 VMware 主机支持的 VMware Horizon 托管虚拟桌面。
从现在开始,你已经准备好回答那个老生常谈的问题:“如何安装 VMware PowerCLI?”你现在可以开始编写脚本来配置部署、虚拟机报告和维护任务。请继续关注本博客,了解有关开始使用 PowerCLI 的新文章!