2016-12-27 69 views
0

我試圖使用PowerCLI獲取Uid與「XYZ」不匹配的VMWare快照列表。使用PowerCLI檢索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」,這是不應該的。

如何修改代碼?

回答

0

在您的Where-Object比較中嘗試使用-ne-notlike,因爲它顯示我們正在比較字符串並且沒有使用正則表達式。

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

+0

我用** - ** notlike,但得到了同樣的迴應 – prudhvi

+0

它worked..Sorrry – prudhvi