如何定义机器状态

时间:2017-11-16 13:06:35

标签: powershell powercli

您好我试图使用powershell来定义vmware中的计算机是处于模板状态还是VM状态,并根据状态执行某些操作。

我无法定义...

尝试了几种方法并得到了下面的例子。

这是我到现在所得到的:

$vm = "Test"

$vms = Get-VM -Name $vm -ErrorAction SIlentlyContinue
$templates = Get-Template -Name $vm -ErrorAction SilentlyContinue


if ($templates.HostId.StartsWith("HostId")) {

Echo $templates
}

else {

echo $vms

}

我不在模板名称时收到错误,因为它找不到“HostId”对象......这有点显而易见。有任何想法吗?

1 个答案:

答案 0 :(得分:0)

$template= Get-view -viewtype VirtualMachine -property config, name| where {$_.config.template -eq $true}

将flag设置为false以仅查找VM。