Wie kann ich die MAC Adresse eines Computers per Batch auslesen?
Benötige ich, um für jeden Computer einen einzigartigen Code zu generieren.
2 Antworten
So geht das unter Windows:
[GetLocalMAC.cmd]
@echo off
setlocal enabledelayedexpansion
set lbl_txt=Physikalische Adresse
set MAC=
set lbl_len=21
for /f "usebackq tokens=1,2* delims=:" %%I in (`ipconfig /all`) do (
set label=%%~I
set value=%%~J
if /i "!label:~0,%lbl_len%!" == "%lbl_txt%" set MAC=!value:~1,!
)
if defined MAC (
echo.!MAC!
) else (
echo.Die MAC-Adresse konnte nicht ermittelt werden.
exit /b 1
)
Dieses Skript kannst Du so auch für alle Sprachen leicht anpassen.
Ich bin mir nicht mehr sicher, aber IPCONFIG sollte eigentlich ab NT4/9x funktionieren, zumindest ab 2000. Jedoch funktionieren SETLOCAL und die IF- und FOR-Strukturierungen erst ab 2000 und daher müsste die Ausgabe dann anders erfolgen, bzw. vereinfacht werden.
Das "~1," bei der MAC-Zuweisung entfernt das führende Leerzeichen!
Mit "getmac" erhältst du die MAC jedes Interfaces.
GutefrageNetFun
23.04.2017, 14:18
@questionanswer7
Schaue mich da nochmal genauer um und melde mich dann, LG.
GutefrageNetFun
23.04.2017, 14:32
@questionanswer7
Mit "wmic csproduct get uuid" erhältst du auch eine einmalige Nummer.
Ob diese Ausgabe besser geeignet ist, weiß ich nicht.
Hi
Gibt es auch einen Befehl, der die MAC "direkt" ausliest, sprich dass nur eine Adresse erscheint?
Bsp. "getmac /direct" liefert "xx-xx-xx-xx-xx"
Muss nicht unbedingt die MAC sein, kann auch ein anderer einzigartiger Code sein, muss einfach direkt ausgelesen werden können.
LG