inAusbildung
Herzlich willkommen!
Hallo zusammen
Ich habe schon einige Batch dateien geschrieben und euer forum war mir immer eine gute Hilfe, doch bei meinem aktuellen Problem hab ich mit googel und umbiegen alleine mein skript nicht richtig zum laufen gebracht und hoffe ihr könnt mir helfen.
Mein aktuelles skript ist zum Einstellen der IPconfig des PC's gedacht, so dass man sich nicht immer durch diese Windows fenster klicken muss. Mein aktuelles Skript:
Nun denn wie man sieht läuft es an sich, nun was mir aber gar nicht gefällt, ist dass man seinen LAN-Adapter namen manuell eingeben muss wenn er nicht den "standard-namen" hat, somit habe ich in der Registry den Schlüssel ausfindig gemacht wo die Adapter namen alle sicher mal vorkommen, diese habe ich als ip.reg abgespeichert. Was ich jetzt gern hätte ist, dass das skript die reg durchsucht nach z.b. "Local area Connection" und mir einen rückgaewert liefert in die variable %return% ob dieses Wort vorhanden ist oder nicht. Die ganzen If else verknüpfungen zu den verschiedenen möglichkeiten der Adaptere, kann ich dann selbst noch machen.
(Folgendes hab ich gefunden und umgebastelt aber funktioniert leider nicht :/ :
)
Danke für eure Hilfe
Gruss ein Lehrling ins Ausbildung
Ich habe schon einige Batch dateien geschrieben und euer forum war mir immer eine gute Hilfe, doch bei meinem aktuellen Problem hab ich mit googel und umbiegen alleine mein skript nicht richtig zum laufen gebracht und hoffe ihr könnt mir helfen.
Mein aktuelles skript ist zum Einstellen der IPconfig des PC's gedacht, so dass man sich nicht immer durch diese Windows fenster klicken muss. Mein aktuelles Skript:
Code:
@echo off
echo Wollen sie DHCP(1) einschalten oder die Netzwerkeinstellungen Manuel(2) konfiguieren?
echo DHCP: 1
echo Manuel: 2
set /p dhcp=
if %dhcp%==1 (
GOTO dhcp )
if %dhcp%==2 (
GOTO manuel )
:dhcp
echo Wie heisst Lan-Verbindung? Fals sie "standard" eingeben wird der Standardname "Lan-Verbindung" verwendet...
set /p Lan-Verbindung=
REM ###############################
REM # IP & Subnetmask & DefaultGW #
REM ###############################
if %Lan-Verbindung%==standard (
netsh interface ip set address name="LAN-Verbindung" source=dhcp
) else (
netsh interface ip set address name="%LAN-Verbindung%" source=dhcp
)
REM ###############################
REM # DNS-Server #
REM ###############################
if %Lan-Verbindung%==standard (
netsh interface ip set dns name="LAN-Verbindung" source=dhcp register=both
) else (
netsh interface ip set dns name="%LAN-Verbindung%" source=dhcp register=both
)
ipconfig /renew
ipconfig /all
pause
exit
:manuel
set /p ip=IP-Adresse?
set /p subnetmask=Subnetzmask?
set /p defaultgw=Standard-Gateway?
set /p dns=DNS-Server?
echo Wie heisst Lan-Verbindung? Fals sie "standard" eingeben wird der Standardname "Lan-Verbindung" verwendet...
set /p Lan-Verbindung=
REM ###############################
REM # IP & Subnetmask & DefaultGW #
REM ###############################
if %Lan-Verbindung%==standard (
netsh interface ip set address name="LAN-Verbindung" source=static addr=%ip% mask=%subnetmask% gateway=%defaultgw% gwmetric=1
) else (
netsh interface ip set address name="%LAN-Verbindung%" source=static addr=%ip% mask=%subnetmask% gateway=%defaultgw% gwmetric=1
)
REM ###############################
REM # DNS-Server #
REM ###############################
if %Lan-Verbindung%==standard (
netsh interface ip set dns name="LAN-Verbindung" source=static addr=%dns% register=both
) else (
netsh interface ip set dns name="%LAN-Verbindung%" source=static addr=%dns% register=both
)
ipconfig /all
pause
exit
Nun denn wie man sieht läuft es an sich, nun was mir aber gar nicht gefällt, ist dass man seinen LAN-Adapter namen manuell eingeben muss wenn er nicht den "standard-namen" hat, somit habe ich in der Registry den Schlüssel ausfindig gemacht wo die Adapter namen alle sicher mal vorkommen, diese habe ich als ip.reg abgespeichert. Was ich jetzt gern hätte ist, dass das skript die reg durchsucht nach z.b. "Local area Connection" und mir einen rückgaewert liefert in die variable %return% ob dieses Wort vorhanden ist oder nicht. Die ganzen If else verknüpfungen zu den verschiedenen möglichkeiten der Adaptere, kann ich dann selbst noch machen.
(Folgendes hab ich gefunden und umgebastelt aber funktioniert leider nicht :/ :
Code:
reg export HKLM\SYSTEM\ControlSet001\Control\Network\ ip.reg
@for /f "Tokens=3,*" %%a in ('find /I /C "LAN-Verbindung" "%USERPROFILE%\ip.reg"^') do @set T=%%a
@If "%T%" LSS "1" goto Exit
@goto JA
:Exit
@Echo.
@Echo Text wurde nicht gefunden
@Echo.
@Pause
exit
:JA
@echo.
@echo Der Text wurde %T% mal gefunden
@echo.
@echo juhuuu,der Test geht
@echo.
@Pause
Danke für eure Hilfe
Gruss ein Lehrling ins Ausbildung