使用符合我标准的PowerCLI检索VMWare快照列表

时间:2016-12-27 18:11:17

标签: vmware vsphere powercli

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

我已经编写了以下代码来执行此操作。

$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'的快照,这不应该发生。

如何修改代码?

1 个答案:

答案 0 :(得分:0)

尝试在Where-Object比较中使用-ne-notlike,因为看起来我们正在比较字符串而不使用正则表达式。

Get-VM | Get-snapshot | where {($_.Uid -notlike 'XYZ')} | ForEach-Object ...