Поиск VM c одинаковыми MAC-адресами

Чтобы быстро найти VM c одинаковыми MAC-адресами, предлагаем использовать скрипт ниже. Он записывает пары «Ключ - Значение» («MacAddress - VM») в хеш-таблицу и для каждой VM ищет повторение MAC-адреса в этой таблице.

  1. В Windows PowerShell ISE откройте область сценариев.

  2. Добавьте в область скрипт:

     1$Table = @{}
     2
     3foreach($VM in Get-CIVM){
     4    Get-CINetworkAdapter -VM $VM | where {$_.MacAddress} | %{
     5        if($Table.ContainsKey($_.MacAddress)){
     6            Write-Host $_.MacAddress "in" $Table[$_.MacAddress] "and" $VM.Name
     7        }
     8        else{
     9            $Table[$_.MacAddress] = $VM.Name
    10        }
    11    }
    12}
    
  3. Запустите скрипт кнопкой Выполнить сценарий.

Output
00:50:56:01:a4:9a in VM-1 and VM-2
00:50:56:01:a7:bd in VM-1 and VM-2
00:50:56:01:a4:9a in VM-1 and VM-3

Если в организации есть VM c одинаковыми названиями, настройте вывод vApp и виртуальных ЦОД, в которых размещаются VM. Для этого дополните шестую строку скрипта выше.

Write-Host $_.MacAddress "in" $Table[$_.MacAddress] "(vApp:" (Get-civm $Table[$_.MacAddress]).VApp"; VDС:" (Get-civm $Table[$_.MacAddress]).OrgVdc ") and" $VM.Name "(vApp:" $VM.VApp "; VDС:" $VMOrgVdc ")"

Обратите внимание, чем больше параметров будет выводить скрипт, тем дольше он будет выполняться.

Масштабная конференция
GoCloud 2024:
облачные грани будущего