我正在尝试运行VMWare powershell脚本,除了带有“NO_SNAPSHOT”标签的VM之外,我抓住了所有的VM
要获取VM的列表,我运行此命令以删除标记为“NO_SNAPSHOT”的
$VMs = Get-VM| Where-Object { $_.tag -notlike '*NO_SNAPSHOT*'}
然而它不起作用,它仍然列出了所有VM的
答案 0 :(得分:1)
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}