如何从 windows 上的远程脚本 运行 VMware 命令
How to run VMware commands from remote scripts on windows
具有用于搜索和创建 VMware 虚拟机的本地基本 Powershell
表单。
使用新的 powershell
powerCLI 模块,如 link
中所述
我们以Get-VM
为例:
LOGIC: 在 TextBox
中键入某个字符串 > 单击 search
> 以
的形式打印 VM 的 status/parameters
问题是,我无法直接从脚本执行 Get-VM
,但首先必须使用 Connect-VIServer
命令进行连接,只有 Get-VM
才能工作
有没有办法从脚本中做到这一点?类似于命令 plink
或 putty
的 -m
标志。
赞:Connect-VIServer -server testvc -flagForExample "commands_list.txt"
是的,你可以。在提供即时答复之前,我想解释一下实际发生的情况。
当您调用 Connect-VIServer
时,该命令会在后台设置变量 $DefaultVIServer
的值,稍后由其他 cmdlet(例如 Get-VM
)使用。
但是,Get-VM documentation 指出有一个 Server
参数可用。这意味着您可以将服务器连接存储在一个变量中,然后将其传递给 Get-VM
cmdlet。
这是一个伪代码示例:
$server = Connect-VIServer -server testvc
Get-VM -Server $server
此外,Get-VM
支持一组服务器,因此理论上您可以 运行 一次在多个服务器上运行该 cmdlet。例如:
$server1 = Connect-VIServer -server testvc
$server2 = Connect-VIServer -server testvc2
Get-VM -Server @($server1, $server2)
具有用于搜索和创建 VMware 虚拟机的本地基本 Powershell
表单。
使用新的 powershell
powerCLI 模块,如 link
我们以Get-VM
为例:
LOGIC: 在 TextBox
中键入某个字符串 > 单击 search
> 以
问题是,我无法直接从脚本执行 Get-VM
,但首先必须使用 Connect-VIServer
命令进行连接,只有 Get-VM
才能工作
有没有办法从脚本中做到这一点?类似于命令 plink
或 putty
的 -m
标志。
赞:Connect-VIServer -server testvc -flagForExample "commands_list.txt"
是的,你可以。在提供即时答复之前,我想解释一下实际发生的情况。
当您调用 Connect-VIServer
时,该命令会在后台设置变量 $DefaultVIServer
的值,稍后由其他 cmdlet(例如 Get-VM
)使用。
但是,Get-VM documentation 指出有一个 Server
参数可用。这意味着您可以将服务器连接存储在一个变量中,然后将其传递给 Get-VM
cmdlet。
这是一个伪代码示例:
$server = Connect-VIServer -server testvc
Get-VM -Server $server
此外,Get-VM
支持一组服务器,因此理论上您可以 运行 一次在多个服务器上运行该 cmdlet。例如:
$server1 = Connect-VIServer -server testvc
$server2 = Connect-VIServer -server testvc2
Get-VM -Server @($server1, $server2)