Get MAC Address
Zuletzt geändert: 04.07.2026 14:51

Übersicht

Get-MacAddress #

ÜBERSICHT #

Ermittelt die MAC-Adresse(n) eines PCs, lokal oder remote.

SYNTAX #

Get-MacAddress [[-ComputerName] <string>] [[-Credential]
    <System.Management.Automation.PSCredential>] [-CheckWakeOnLan] [<CommonParameters>]

BESCHREIBUNG #

Ohne -ComputerName werden alle physischen Netzwerkkarten des lokalen Rechners aufgelistet (Name, MAC, Status).

Mit -ComputerName wird ein entfernter Rechner abgefragt. Zwei Wege:

  • ARP (Standard, ohne Anmeldedaten): Der Rechner wird angepingt, damit sein IP-zu-MAC-Eintrag im Nachbar-Cache landet, danach wird die MAC ausgelesen. Funktioniert nur im selben Subnetz und nur solange der Zielrechner läuft. Liefert genau die MAC der abgefragten Adresse.

  • CIM/WMI (mit -Credential): Liest alle Netzwerkkarten inkl. Namen über eine authentifizierte CIM-Session. Braucht Anmeldedaten und ein erreichbares Ziel, liefert dafür die vollständige Adapterliste.

Mit -CheckWakeOnLan kommt die Spalte WakeArmed dazu (ist die Karte für Wake-on-LAN scharfgeschaltet?). Lokal über ‘powercfg -devicequery wake_armed’ (Abgleich über den Adapternamen), remote über die WMI-Klasse MSPower_DeviceWakeEnable (nur mit -Credential, treiberabhängig unvollständig). Beim reinen ARP-Weg ist das nicht feststellbar, dort bleibt WakeArmed leer.

WakeArmed = $true bedeutet: Windows/Treiber sind so eingestellt, dass die Karte den Rechner aufwecken darf. Es sagt NICHTS über die BIOS/UEFI- Einstellung oder den Windows-Schnellstart aus; ein Wecken aus dem echten Ausschalten (S5) kann trotz $true scheitern. $false bzw. leer heisst daher nur “nicht scharf oder nicht feststellbar”, nicht zwingend “unmöglich”.

Wichtig: Ein ausgeschalteter PC antwortet nicht auf ARP. Die MAC also immer auslesen, solange der Rechner läuft, und für späteres Wake-on-LAN notieren.

PARAMETER #

-ComputerName #

Type: string

Hostname oder IP-Adresse des Zielrechners. Ohne Angabe wird der lokale Rechner abgefragt.

-Credential #

Type: System.Management.Automation.PSCredential

Anmeldedaten für die CIM/WMI-Abfrage. Ist dies gesetzt, wird die vollständige Adapterliste per CIM geholt statt der ARP-Einzeladresse.

-CheckWakeOnLan #

Type: switch

Ergänzt die Ausgabe um die Spalte WakeArmed (Wake-on-LAN scharfgeschaltet). Für ein verlässliches lokales Ergebnis sollte die Sitzung mit erhöhten Rechten laufen.

AUSGABEN #

System.Management.Automation.PSCustomObject[]

BEISPIELE #

# Alle physischen Karten des lokalen PCs
Get-MacAddress
# MAC eines Rechners im gleichen Subnetz per ARP
Get-MacAddress -ComputerName 192.168.1.50
# Lokale Karten inklusive Wake-on-LAN-Status
Get-MacAddress -CheckWakeOnLan
# Vollständige Adapterliste eines Remote-Rechners per CIM
Get-MacAddress -ComputerName PC-BUERO -Credential (Get-Credential)

HINWEISE #

Nutzt CIM (Get-CimInstance/New-CimSession), Get-NetNeighbor und powercfg, daher Windows-only. Die CIM-Cmdlets laufen unter PowerShell 5.1 und 7+. Gegenstück: Send-WakeOnLan.