使用PowerCLI检索符合我的条件的VMWare快照列表

使用PowerCLI检索符合我的条件的VMWare快照列表,vmware,vsphere,powercli,Vmware,Vsphere,Powercli,我正在尝试使用PowerCLI获取Uid与“XYZ”不匹配的VMWare快照列表 为此,我编写了以下代码 $body +=echo ""`r`n""`r`n"-----Open VMware snapshots other than Uid 'XYZ'-----"`r`n""`r`n"" Get-VM | Get-snapshot | where {($_.Uid -notmatch 'XYZ')} | ForEach-Object { $object=New-Object -Type

我正在尝试使用PowerCLI获取Uid与“XYZ”不匹配的VMWare快照列表

为此,我编写了以下代码

$body +=echo ""`r`n""`r`n"-----Open VMware snapshots other than Uid 'XYZ'-----"`r`n""`r`n""
Get-VM | Get-snapshot | where {($_.Uid -notmatch 'XYZ')} |  ForEach-Object {
    $object=New-Object -TypeName PSObject -Property @{
        VM_Name = $_.VM
        Created = $_.Created
        Size = "$([math]::Round($_.SizeGB, 2)) GB"
        SnapshotName = $_.name
        Description = $_.extensiondata.description
                 }
    $body +=  $object | ft | out-string
    Write-Output $object    
    }
在PowerCLI中运行该代码将返回所有VMWare快照,包括Uid为“XYZ”的快照,这不应该发生


如何修改代码

尝试在Where对象比较中使用
-ne
-notlike
,因为我们似乎是在比较字符串,而不是使用正则表达式

getvm | getsnapshot |其中{($.Uid-notlike'XYZ')}ForEach对象…

我使用了-notlike,但得到了相同的响应