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

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

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

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

    1 $Table = @{}
    2
    3 foreach ( $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 : 9 a in VM - 1 and VM - 2
00 : 50 : 56 : 01 : a7 : bd in VM - 1 and VM - 2
00 : 50 : 56 : 01 : a4 : 9 a 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 ")"

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

Облако VMware