可以在自定义工作流中使用 vSphere 客户机操作 API 或 PowerCLI Invoke-VMScriptCopy-VMGuestFile cmdlet。

需要设置 Direct Connect 或计算 VPN 和允许通过端口 443 传输到 ESXi 主机的流量的管理网络防火墙规则后,才可以直接或通过 PowerCLI 使用 vSphere 客户机操作 API。

前提条件

过程

  1. 确认虚拟机正在运行最新版本的 VMware Tools。
  2. 确认您可以直接或通过简单的 PowerCLI cmdlet 访问客户机操作 API。
    可以使用类似以下的 cmdlet 测试是否能够访问 IP 地址为 10.100.1.1 的 ESXi 主机上的端口 443。
    PS C:\Users\admin>Test-NetConnection -Port 443 -ComputerName 10.100.1.1
    如果响应为 TrueTcpTestSucceeded,则表示测试成功。

示例: 使用 PowerCLI Invoke-VMScript Cmdlet

建立允许流量传输到主机上端口 443 的网络连接后,可以直接或通过 PowerCLI 使用客户机操作 API,如下所示。API 和 cmdlet 请求转到运行主体虚拟机(此处为 Win10-Example)的主机上的端口 443。该虚拟机上运行的 VMware Tools 处理请求的客户机操作。

PS C:\Users\admin> $vm = Get-VM Win10-Example
PS C:\Users\admin> Invoke-VMScript -ScriptText "dir C:\" -VM $vm -GuestUser admin -GuestPassword $passwd"

ScriptOutput
------------------------------------------------------
|
| Directory: C:\
|
| ...