簡體   English   中英

如果有多個條目,請在 get-vm 中查找具有確切名稱的 VM

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM