【问题标题】:powercli Get-VM NOT matching Tagpowercli Get-VM 不匹配标签
【发布时间】:2014-01-09 07:31:21
【问题描述】:

我正在使用标签来过滤虚拟机/识别特殊配置。

Get-VM -Tag TEST

现在我想获取所有与标签不匹配的虚拟机......有没有办法做到这一点而无需额外的循环来删除与标签匹配的所有项目?

【问题讨论】:

    标签: powershell tags powercli


    【解决方案1】:

    我在看这个,我使用了-contains/-notcontains 比较运算符而不是-eq/-ne,因为它总是返回一个布尔表达式。如果您有多个标签,它可能无法正常工作。

    $VMs = get-vm 
    
    foreach ($VM in $VMs){
        If (((Get-Tagassignment $VM).Tag.Name -notcontains "Prod"){
             Whatever you want if it doesn't contain prod.
        }
    }
    

    【讨论】:

      【解决方案2】:

      看起来,没有。但是使用另一个循环并不是一个糟糕的解决方案。

      应该是这样的:

      Get-VM -Name * | ?{$_.Tag -ne "Test"}
      

      或者如果VirtualMachine 没有Tag 属性,您应该尝试使用Get-View

      Get-View -Name * | ?{$_ .Tag -ne "Test"} | Get-VM
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-09-03
        • 2016-09-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多