VMWare PowerShell脚本获取不喜欢标记的VM



我正在尝试运行一个VMWare powershell脚本,在该脚本中,除了带有"NO_SNAPSHOT"标签的VM之外,我还获取了所有VM

为了获得虚拟机的列表,我运行这个来删除带有"NO_SNAPSHOT"标签的虚拟机

$VMs = Get-VM| Where-Object { $_.tag -notlike '*NO_SNAPSHOT*'}

然而它不起作用,它仍然列出了所有VM的

Get-VM返回的对象没有名为"Tag"的属性。查看Get-TagAssignment。

编辑-这样你就可以进行

$TAs = Get-TagAssignment | where {$_.tag.name -like "*no_snapshot*"}
$VMs = get-vm | where { $TAs.entity.name -notcontains $_.name }

或者,如果您有PowerCLI v5.8r1,您可以执行

$noSnap = get-vm -tag *no_snapshot*
$vms = get-vm | where {$noSnap.name -notcontains $_.name}

最新更新