djjasonx
Goto Top

Netzwerkadapter per Batch auslesen

Hallo!

Leider habe ich zu meinem Anliegen nichts passendes im Netz gefunden, daher meine Frage hier bei Euch.

In meinem Batch Script möchte ich den Namen der aktiven Netzwerkkarte auslesen (da die bei unterschiedlichen PC auch unterschiedlich heißen kann) und diesen Namen weiter verwenden. Es geht um IP-Adressen Zuweisung. Hab ich auch schon fertig, nur wenn ich das Script auf einem PC ausführe, wo der Name des Netzwerkadapter anders ist, klappts halt nicht.
Deswegen will vorweg den aktuellen Namen haben und den in einer Variablen speichen, damit die IP-Zuweisung immer klappt.

Könnt ihr mir da weiterhelfen? Ich hoffe, dass es nicht zu kompliziert ist.

Danke und Gruß
Sascha.

Content-Key: 211006

Url: https://administrator.de/contentid/211006

Printed on: April 23, 2024 at 16:04 o'clock

Member: bastla
bastla Jul 09, 2013 at 19:29:13 (UTC)
Goto Top
Hallo djjasonx und willkommen im Forum!

Ansätze zur Thematik findest Du zB in diesem Thread ...

Grüße
bastla
Member: Sheogorath
Sheogorath Jul 09, 2013 at 20:46:10 (UTC)
Goto Top
Hallöchen,

Zitat von @djjasonx:
Könnt ihr mir da weiterhelfen? Ich hoffe, dass es nicht zu kompliziert ist.

Also ich spreche aus Erfahrung und kann sagen, es ist schwierig. Per Batch ist es eine echte Meisterleistung. Ich habe mal einen Script geschreiben, der da was gebastelt hat, den kannst du sicher gut verwenden. Wenn du ihr etwas abänderst, könnte er genau das sein, was du suchst:

 @echo off
SET Scriptname=IPConf.bat
call %logpath%v-log.bat
IF %C_IPbackup% EQU 1 (
IF %IPlog% NEQ 1 goto Ende
)

IPconfig /all >> "%Logpath%IP_old.log"  

find /I "%scriptname% erfolgreich" "%Logpath%IPconf.Log" >>"%Logpath%IPconf.Log"  
IF %ERRORLEVEL% EQU 0 goto Erfolgreich 


echo """"""""""""""""""""""""""""""""""""""""""""""""""  
ECHO           Wechsle zur Dynamischen IP
echo """"""""""""""""""""""""""""""""""""""""""""""""""  

reg query HKLM\SYSTEM\ControlSet001\services\Tcpip\Parameters\Adapters\ >> IPCONF_REG.txt

REM SET /p test=<IPCONF_REG.txt
@for /F %%i in ('find/N "2" IPCONF_REG.txt^') do @set UID2=%%i >> IPCONF.log  
SET UID=%UID2:~-39%
echo %UID%
reg.exe ADD HKLM\SYSTEM\ControlSet001\services\Tcpip\Parameters\Interfaces\%UID% /v EnableDHCP /t REG_DWORD /d 1 /F >>IPCONF.log
IF %ERRORLEVEL% NEQ 0 goto FEHLER
reg.exe ADD HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\%UID% /v EnableDHCP /t REG_DWORD /d 1 /F >>IPCONF.log
IF %ERRORLEVEL% NEQ 0 goto FEHLER

echo %UID% >> IPCONF.log
echo set restart=1 >> %logpath%v-log.bat
goto ERFOLGREICH

REM ######################################################
REM ####################LOG###############################
REM ######################################################


:FEHLER
ECHO !!FEHLER UM %time% %date%!!! >>"%Logpath%IPconf.Log"  
GOTO ENDE

:ERFOLGREICH
Echo.
Echo.
Echo.
echo """"""""""""""""""""""""""""""""""""""""""""""""""  
ECHO      Wechsel zur Dynamischen IP Erfolgreich
echo """"""""""""""""""""""""""""""""""""""""""""""""""  
echo ######################################################################### >>"%Logpath%IPconf.Log"  
Echo "§§§ %scriptname% erfolgreich um %time% %date% §§§" >>"%Logpath%IPconf.Log"  
echo ######################################################################### >>"%Logpath%IPconf.Log"  
goto ENDE
:Ende
echo §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ >>"%Logpath%IPconf.Log"  
echo §§§§§§§§§§§§§§§§§§§§§§  %date%      %time%         §§§§§§§§§§§§§§§§§§§§§§ >>"%Logpath%IPconf.Log"  
echo §§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§§ >>"%Logpath%IPconf.Log"  

Info: Der ist jetzt völlig aus seinem Kontext genommen, aber wenn du ihn ein bisschen beschneidest und Variablen füllst, sollte es gehen. Wenn ich mehr Zeit hätte, würde ich das noch machen, aber ich denke es ist besser als nichts ;) Habe den Script vor knapp einem Jahr geschreiben, für eine LAN-Party.

Gruß
Chris
Member: djjasonx
djjasonx Jul 10, 2013 at 14:06:13 (UTC)
Goto Top
Hui, das ist aber ein heftiges Script. Da ich leider noch nicht so der Profi in Batch-Scripting bin, fällt es mir doch relativ schwer, da durch zu steigen. Ich probiere mein Bestes!

Danke schonmal an alle!
Member: djjasonx
djjasonx Jul 10, 2013 updated at 15:12:51 (UTC)
Goto Top
Mir würde auch eigentlich schon reichen, wenn ich vorab den Namen der AKTIVEN Netzwerkkarte, setzen kann und mit dem Namen arbeite ich dann weiter. Wie ändere ich den Namen der Netzwerkkarte??? Also zum Beispiel heißt sie "LAN-Verbindung" und soll in "Ethernet" umbenannt werden.
Member: bastla
bastla Jul 10, 2013 at 17:08:10 (UTC)
Goto Top
Hallo djjasonx!
wenn ich vorab den Namen der AKTIVEN Netzwerkkarte, setzen kann
Wenn Du das könntest, wäre Dein Problem ohnehin schon gelöst - die Frage ist aber weiterhin (wie auch im oben velinkten Thread schon angemerkt), woran die aktive Karte erkannt werden soll ...

Grüße
bastla