Mit CMD / BATCH Mac Adresse finden?
Hey freunde! ich habe heute mal wieder an einem Batch script rumgebastelt, was die Mac Adresse als variable speichern soll. dabei möchte ich aber nur die mac adresse anzeigen lassen. und falls ihr euch damit auskennt, könnt ihr mir auch sagen wie ich die verbauten netzwerk karten mit cmd anzeigen kann? danke im vorraus, freue mich über hilfe!
5 Antworten
MacAdresse(n) anzeigen:
getmac
bringt nicht viel wenn man nicht weiß, welche Mac zu welchem Adapter gehört.
wmic führt da schon weiter:
rem ermittle nur physische Netzwerkadapter (keinSoftwarekram wie Miniport etc.)
wmic nic where PhysicalAdapter=true get Description,MACAddress,Name,NetConnectionID,Speed,TimeOfLastReset
pause
nun das ganze noch in Verbindung mit Variablen einsetzen:
@echo off
chcp 65001 >nul
set "__Netadapter.Count=0"
for /f "skip=2 tokens=2-5 delims=[]," %%a in ('"wmic nic where PhysicalAdapter=true get MACAddress,Name,NetConnectionID,Speed,TimeOfLastReset /format:csv"') do (
rem zähle die verfügbaren physischen Adapter
set /a "__Netadapter.Count+=1"
rem speichere die Parameter in einem (Pseudo)Hasharray
call set "__Netadapter.%%__Netadapter.Count%%.MAC=%%a"
call set "__Netadapter.%%__Netadapter.Count%%.Name=%%b"
call set "__Netadapter.%%__Netadapter.Count%%.VebindungsName=%%c"
call set "__Netadapter.%%__Netadapter.Count%%.Speed=%%d"
call set "__Netadapter.%%__Netadapter.Count%%.CVS=MAC=%%a,Name=%%b,Connection=%%c,Speed=%%d"
)
rem zeige die neu erzeugten Variablen an
set __Netadapter.
rem mit den Variablen arbeiten:
echo:
echo %__Netadapter.Count% Netzwerkadapter wurden gefunden:
for /l %%a in (1,1,%__Netadapter.Count%) do (
echo %%a. Adapter:
call echo Name : %%__Netadapter.%%a.Name%%
call echo MacAdresse : %%__Netadapter.%%a.MAC%%
call echo Geschwindigkeit: %%__Netadapter.%%a.Speed%%
call echo Verbindung : %%__Netadapter.%%a.VebindungsName%%
echo:
)
rem zeige den Datensatz (CVS) des 1.Nezzwerkadapters an
echo der 1. Netzwerkadapter hat folgende Daten: %__Netadapter.1.CVS%
pause
Getmac oder mit einer WMI - Abfrage, beides hier gefunden:
https://devblogs.microsoft.com/scripting/powertip-use-powershell-to-find-mac-address/
Hier wird WMI bei Microsoft mit Beispielen gut erklärt:
https://docs.microsoft.com/de-de/powershell/scripting/samples/performing-networking-tasks
Viel Erfolg!
ipconfig /all zeigt dir alle MACs aller Netzwerkkarten im System an - und auch noch diverses anderes krams.
Ich weiß nicht, ob es da einen direkten Befehl für gibt aber ich hätte einfach ipconfig -all genommen. Brauchst du unbedingt die MAC-Adresse oder reicht das?
Du könntest das hier probieren. Es sollte meines Wissens nach immer das erste Ergebnis passen.
ipconfig /all | findstr /s /i Phy*