0

vcenterからすべてのVMのリストを取得しようとしていますが、名前に別のリストにある文字列の1つが含まれている場合は、VMをリストから除外します。

$vm_list = Get-Datacenter | Get-VM 

$vm_list content:

vm1233
vm4566
vm7890
vm3330
vm9990

ここで、名前のリストから文字列の1つを含むVMを除外したいと思います。

$exluded_vms = @('33', '66')

それを行うための最良の方法は何ですか?

ありがとう。

4

1 に答える 1

4

私はこれを使用します:

[regex]$exluded_vms = '33|66'
 $vm_list = Get-Datacenter | Get-VM  | ? { $_.NAME -NOTMATCH $exluded_vms}

より効率的な方法は get-view

   get-view -viewtype virtualmachine -filter @{'name'='^((?!33|66).)*$'} 

最後の1つは、VMに関する詳細情報を提供します。結果をパイプ処理して| select name、出力を制限できます。

于 2012-11-13T13:46:37.130 に答える