当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] VMware PowerCLI:如何安装和管理 vSphere 和 ESXi

作者:精品下载站 日期:2024-12-14 23:20:05 浏览:16 分类:玩电脑

VMware PowerCLI:如何安装和管理 vSphere 和 ESXi


VMware vSphere PowerCLI 是一组 PowerShell 模块,用于通过命令提示符管理 VMware 基础架构。您可以使用 PowerCLI 获取虚拟机、数据存储、网络或用户的状态,管理不同的设置,创建新对象,以及在 ESXi、vCenter Server、vSphere、vSAN 和其他 VMware 产品的自动化任务中使用 PowerShell。

目前,VMware 正在开发仅适用于 PowerShell Core (7.0+) 的 PowerCLI 版本。此 PowerShell 版本是跨平台的,可以在 Windows、Linux 或 macOS 中使用。仅针对 Windows PowerShell 5.x 的早期 PowerCLI 模块发布了安全修复程序。建议使用更新的 PowerShell Core 版本。

如何在Windows上安装VMware PowerCLI模块?

您可以在 Windows 中在线或离线安装 VMware PowerCLI。

要从 PowerShell Gallery 在线安装 PowerCLI,请运行以下命令:

Install-Module -Name VMware.PowerCLI

PowerCLI vSphere 版本 6.5 或更早版本作为 MSI 安装程序分发。

如果您只想为当前用户安装该模块:

Install-Module VMware.PowerCLI -Scope CurrentUser

默认情况下,从 PowerShell 库安装最新的 PowerCLI 版本。如果您想要安装特定的 PowerCLI 版本,您可以显示可用版本的完整列表并安装您想要的版本:

Find-Module -Name VMware.PowerCLI -AllVersions|select version
Install-Module -Name VMware.PowerCLI -RequiredVersion 12.4.0.17860403

[玩转系统] VMware PowerCLI:如何安装和管理 vSphere 和 ESXi

在安装过程中,系统将提示您更新 NuGet 提供程序。另外,请从不受信任的 PowerShell Gallery 存储库确认安装。您可以使用以下方法使其成为可信的

Set_PSRepository

cmdlet。

检查 PowerCLI 模块是否已安装并显示其版本:

Get-Module -ListAvailable VMware* | Select Name,version

[玩转系统] VMware PowerCLI:如何安装和管理 vSphere 和 ESXi

要更新 PowerCLI 模块版本,只需运行以下命令:

Update-Module -Name VMware.PowerCLI

如果您在 Windows 中安装了 Choco 包管理模块,则可以在存储库中找到 PowerCLI 模块:

choco search vmware

并安装它:

choco install vmware-powercli-psmodule

PowerCLI 模块在 winget 中尚不可用。

如果要在隔离计算机(断开连接的环境)上安装 PowerCLI,可以使用离线安装程序。

  1. 下载包含 PowerCLI 模块的 ZIP 文件 https://code.vmware.com/web/tool/vmware-powercli(当前 VMware-PowerCLI 12.4.1 的 ZIP 存档大小约为 80 MB);

  2. 将存档解压到计算机上包含 PowerShell 模块的目录(您可以使用以下命令获取 PoSh 模块目录的列表)

    $env:PSModulePath

    )。通常

    C:\Program Files\WindowsPowerShell\Modules

    用来。

  3. 解除阻止从互联网下载的文件:

    cd “c:\Program Files\WindowsPowerShell\Modules”
    Get-ChildItem * -Recurse | Unblock-File
  4. 打开 PowerShell 控制台并确保 PowerCLI 模块现在可用:

    Get-Module -Name VMware.PowerCLI -ListAvailable

阅读有关 PowerShell 模块离线安装的更多信息。

要将 PowerCLI 模块导入到当前 PowerShell ISE 或 Visual Studio Code 会话,请运行以下命令:

Import-Module VMware.VimAutomation.Core

加载模块时您可能会看到以下错误消息:

Import-Module: File C:\Program Files\WindowsPowerShell\Modules\VMware.VimAutomation.Sdk.4.0.18627054\VMware.VimAutomation.Sdk.psm1 cannot be loaded because running scripts is disabled on this system.

然后你必须配置PowerShell脚本执行策略。要允许在当前会话中使用该模块:

Set-ExecutionPolicy Unrestricted -Scope Process

您可以使用远程计算机上安装的 PowerCLI 模块。为此,请使用 PSRemoting 远程导入它:

$session = New-PSSession -ComputerName mun-svr01

将 PowerCLI 模块导入到您的计算机:

Import-Module -PSsession $session -Name VMware.VimAutomation.Core

完成后不要忘记关闭会话:

Remove-PSSession $session

在 Linux 上安装 PowerCLI 模块

您可以在 Windows 和 Linux 中安装和使用 PowerCLI。首先,在 Linux 主机上安装 PowerShell Core。然后在控制台中运行以下命令安装VMware PowerCLI:

pwsh
Install-Module -Name VMware.PowerCLI

[玩转系统] VMware PowerCLI:如何安装和管理 vSphere 和 ESXi

将模块导入到您的会话中:

Import-Module VMware.PowerCLI

用于管理 VMware vSphere 和虚拟机的基本 PowerCLI 命令

您可以获取 PowerCLI 模块中的 cmdlet 列表,如下所示(有超过 2200 个命令可用):

Get-Command -Module *vmware*

[玩转系统] VMware PowerCLI:如何安装和管理 vSphere 和 ESXi

要禁用 VMware 客户体验改善计划 (CEIP) 通知,请执行以下操作:

Set-PowerCLIConfiguration -Scope AllUsers -ParticipateInCeip $false

要连接到 vCenter Server 或 ESXi 主机:

Connect-VIServer <vCenter_or_ESXi_FQDN>

如果您的 vCenter Server 使用自签名 SSL 证书,PowerCLI 将阻止连接:

Connect-VIServer Error: Invalid server certificate. Use Set-PowerCLIConfiguration to set the value for the InvalidCertificateAction option to Prompt if you'd like to connect once or to add a permanent exception for this server.
Additional Information: Could not establish trust relationship for the SSL/TLS secure channel with authority.

忽略自签名证书:

Set-PowerCLIConfiguration -Scope AllUsers -InvalidCertificateAction Warn

要显示在 ESXi(或 vCenter)服务器上注册的虚拟机列表:

Get-VM

仅显示已关闭的虚拟机:

Get-VM | Where {$_.Powerstate -ne “PoweredOn”} | Select Name, VMHost, NumCPU, MemoryMB, Version|Format-Table

[玩转系统] VMware PowerCLI:如何安装和管理 vSphere 和 ESXi

要启动虚拟机:

Start-VM -VM MUNTestVM1

要正确重新启动虚拟机(使用 VMware 工具代理):

Restart-VMGuest -VM MunTestVM1 -Confirm:$False

关闭虚拟机:

Shutdown-VMGuest -VM MunTestVM1 -Confirm:$False

要显示 VM 的快照列表:

Get-VM -VM MunTestVM1 | Get-Snapshot| Format-List

要使用 VMotion 将正在运行的 VM 移动到另一台主机,请使用 Move-VM 命令。例如,您想要将所有虚拟机从 mun-esxi1 移动到 mun-esxi2:

Get-VMHost mun-esxi1|Get-Vm| Move-VM -Destination (Get-VMHost mun-esxi2)

要创建新虚拟机,请使用 New-VM cmdlet:

New-VM -Name MunTestVM1 -VMHost mun-esxi1 -ResourcePool Production -DiskGB 20 -DiskStorageFormat Thin -Datastore MUN_MSA2000_Prod1

使用

Set-VM

cmdlet 以更改虚拟机设置。

使用 PowerCLI cmdlet,您可以与虚拟机的来宾操作系统进行交互。为此,必须在虚拟机中安装 VMware Tools。您可以更新 VMware Tools,如下所示:

Get-VMGuest MunTestVM1 | Update-Tools

使用 Invoke-VMS,您可以在来宾 Windows 操作系统中运行脚本或程序:

$script = '"%programfiles%\Common Files\Microsoft Shared\MSInfo\msinfo32.exe" /report "%tmp%\inforeport"'
Invoke-VMScript -ScriptText $script -VM MunTestVM1 -HostCredential $hostCred -GuestCredential $VMCred -ScriptType Bat

要将文件复制到所有虚拟机,请运行以下命令:

Get-VM | Copy-VMGuestFile -Source C:\PS\get-size.ps1 -Destination C:\PS\ - LocalToGuest -GuestUser administrator -GuestPassword P@ssdr0w2

该模块包含用于管理集群、数据中心、数据存储和 ESXi 主机的 cmdlet:

Get-VMHost
Get-Datacenter
Get-Cluster
Get-Datastore
Get-VirtualPortGroup

要显示集群中的 ESXi 主机列表:

Get-Cluster munprod1 | Get-VMHost | sort name

将特定 ESXi 主机置于维护模式:

Set-VMhost -VMHost mun-esxi1 -State Maintenance

要将 iSCSI LUN 连接到 ESXi 主机并在其上创建 VMFS 数据存储:

Get-ScsiLun -VmHost mun-esxi1 | ft
New-Datastore -Name 'mun_iscsi_datastore' -VMHost mun-esxi1 -Path naa.6000xxxxxxxxxxxxxxxx -Vmfs

提示。PowerCLI 以只读模式与免费的 VMware vSphere Hypervisor 配合使用。这意味着您可以使用命令查看主机和虚拟机设置,但无法更改它们。

PowerCLI 示例脚本

有一些使用 PowerCLI 获取有关 VMware 基础架构项目的信息并在网站上自动执行某些操作的示例。您可以使用以下文章中的示例来编写自己的 PowerCLI 脚本:

  • 检查 VMFS 数据存储上的可用磁盘空间

  • 映射 VMware 虚拟磁盘(VMDK 文件)和 Windows 驱动器卷

  • 如何通过IP或MAC地址查找VMware虚拟机?

  • 在 VMware ESXi 主机上配置 SNMP

  • 如何强制重启卡住的 VMware 虚拟机?

  • 将驱动程序注入 ESXi 安装映像

  • VMware VM 需要整合状态警报

  • 升级虚拟机硬件版本

vSphere PowerCLI 是一款用于管理和自动化 VMware 基础架构的强大工具。 PowerCLI 包括 2000 多个 cmdlet,用于管理云和本地 VMware 基础架构(vSphere、vSAN、vRealize Operations Manager、vCloud Director、Site Recovery Manager、Horizon、NSX-T、VMware Cloud Services、VMware Cloud on AWS 等)。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯