[英]Find VM with exact name in get-vm incase of multiple entries
我正在使用Get-VM -Name $VM_Name
搜索 VM 詳細信息的代碼。
在以下情況下,它沒有給出任何 output ,其中我有 2 個相同 VM 名稱的條目,如下所示
001_MBM1P
001_MBM1P_Clone_Prj_Win
正在嘗試類似打擊但出現錯誤
get-vm $VM_Name | where {($_.Name -match $VM_Name) -and ($VM_Name -notcontains 'Clone*')}
get-vm : 1/10/2022 11:36:52 AM Get-VM VM with name '001_MBM1P' was not found using the specified filter(s).
請讓我知道如何過濾適用於這兩種情況的搜索。
-notcontains
-contains
符僅適用於 arrays,它們不是字符串操作。
您可以使用高效的String::Contains()
方法:
get-vm | where {($_.Name -match $VM_Name) -and (-not $_.Name.Contains('Clone'))}
或者使用-notlike
運算符:
get-vm | where {($_.Name -match $VM_Name) -and ($_.Name -notlike '*Clone*')}
請注意, Contains()
區分大小寫,而-notlike
-like
區分大小寫。 此 Q/A顯示了一些使用String
方法進行不區分大小寫的“包含”操作的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.