我正在尝试运行一个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}