Powershell: Sprawdzenie MAC Adresów dla wielu komputerów

27-Mar-2016

Wydawać by się mogło, że konflikt adresów MAC nie powinien się zdarzać… a jednak, życie w IT bywa interesujące. Żeby sprawdzić jakie adresy MAC są wykorzystywane przez ‚podejrzane komputery’ można posłużyć się następującym skryptem:

$compList1 = 'Server01','Server02','Server03'
Invoke-Command -ComputerName $compList1 {Get-NetAdapter} | Select MacAddress,PSComputerName,Name

Zaczynamy od zainicjowania listy komputerów. Tutaj została ona podana jawnie:

$compList1 = 'Server01','Server02','Server03'

Teraz na każdym z komputerów, korzystając z remotingu uruchomimy skrypt. Invoke-Command uruchamia zdalne komendy na komputerach wskazanych przez parametr ComputerName. Tą komendą do uruchomienia na każdym komputerze, jest Get-NetAdapter. 

Oczywiście zwróconych zostanie wiele wyników, z mnóstwem nieinteresujących nas w danej chwili informacji. Dlatego wynik ten przesyłamy potokiem do select, w którym wybierzemy tylko to co nas interesuje:

  • MacAddress
  • Nazwę komputera, z którego ten Mac Address pochodzi. Nazwa jest zawarta w zmiennej PSComputerName, która automatycznie jest dodawana do outputu polecenia Invoke-Command, właśnie po to, aby móc zidentyfkować z ktorego komputera pochodzi wynik.

I gotowe! Raz zbudowany skrypt pomoże na bieżąco weryfikować unikalność adresów MAC.

Dodaj komentarz:

Autor: Rafał Kraik