IP-Adresse in Windows mit Script zwischen fest und dynamisch wechseln
Ich stand vor dem Problem, das ich für ein WLAN gerne Dhcp verwenden möchte, d.h. die IP-Adresse wird automatisch vergeben. Für ein anderes WLAN sollte die IP-Adresse fest eingestellt sein.
Dies kann unter Windows recht einfach mit zwei Batch Dateien erstellt werden.
Fest IP setzen:
Zuerst erstelle ich die Batch Datei für die fest IP-Adresse. d.h. die Datei nenne ich festip.bat mit folgendem Inhalt:
netsh interface ip set address "Drahtlosnetzwerkverbindung" static 192.168.1.10 255.255.255.0 192.168.1.1 256
netsh interface ip set dns "Drahtlosnetzwerkverbindung" static 192.168.1.1
netsh wlan connect name=ZyXELVMG
Der erste Eintrag setzt die IP-Adresse des PCs 192.168.1.10, die Subnetzmaske: 255.255.255.0 und das Gateway 192.168.1.1
Der zweite Eintrag setzt den DNS Server 192.168.1.1
Der dritte Eintrag verbindet den PC mit dem WLAN ZyXELVMG.
Zu beachten ist, das dort wo “Drahtlosnetzwerkverbindung” steht der jeweilige Name des WLAN Adapters einzutragen ist. Man findet den Namen in der Systemsteruerung unter “Systemsteuerung\Netzwerk und Internet\Netzwerkverbindungen”.
Weiterhin muss man bevor man das WLAN über das Script verbinden kann noch folgenden Befehl über die “Eingabeaufforderung” (cmd) als Admin ausführen:
netsh wlan export profile
Man bekommt eine Liste seiner WLAN Profile angezeigt und erhält die zugehörigen Namen. Zu finden auch im Benutzer Ordner von Windows als XML-Datei. Man setzt nun den jeweiligen WLAN Namen mit dem man verbinden möchte in das Script ein.
Dynamische IP setzen:
Jetzt erstelle ich eine Batch Datei namens dynamischeIP.bat mit folgenden Inhalt:
netsh interface ip set address "Drahtlosnetzwerkverbindung" dhcp
netsh interface ip set dns "Drahtlosnetzwerkverbindung" dhcp
netsh wlan connect name=Home
Jetzt werden alle Adresseinträge wieder auf dhcp gesetzt und werden dynamisch vergeben.
Die Verbindung mit dem Heimnetz “Home” wird mit dem dritten Eintrag hergestellt.
Alle Batch Dateien müssen als Admin ausgeführt werden (rechte Maustaste auf die Batch Datei und dann als “Admininstrator ausführen”) damit es funktioniert.
4 Replies to “IP-Adresse in Windows mit Script zwischen fest und dynamisch wechseln”
das hilft nicht, wenn man automatiesiren will (ohne vorher den netwerkadapter namen nachzuschauen)… desweiteren funktionieren solche skripte nicht immer (trotz admin)
meine lösung (mus in c:\ ausgeführt werden):
@echo off
@cd /d “%~dp0”
echo Netzwerkadapter
dir \\192.168.xxx.xxx\dns\ | find /i “%COMPUTERNAME%”
if not errorlevel 1 (goto ENDE)
ipconfig >> C:\ipconfig.txt
for /f “tokens=*” %%f in (C:\ipconfig.txt) do (
if not exist C:\ipgefunden.txt (
echo %%f | find “Ethernet”
if not errorlevel 1 (set nictemp=%%f)
echo %%f | find “192.168.xxx.”
if not errorlevel 1 (echo IP gefunden >> C:\ipgefunden.txt)
)
)
rem dende teil 1
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 77.109.148.136 index=1
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 77.109.148.137 index=2
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 84.200.69.80 index=3
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 84.200.70.40 index=4
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 202.155.229.206 index=5
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 202.155.233.206 index=6
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:bf0:0:0:0:0:0:2 index=1
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:1bc0:0:0:0:ffff:aaaa:2 index=2
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:1608:10:25::1c04:b12f index=3
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2a01:780:c000:1:0:0:0:1 index=4
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:1608:10:25::9249:d69b index=5
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:1608:10:25::1c04:b12f index=6
del C:\ipconfig.txt
del C:\ipgefunden.txt
echo W-Lan
dir \\192.168.xxx.xxx\dns\ | find /i “%COMPUTERNAME%”
if not errorlevel 1 (goto ENDE)
ipconfig >> C:\ipconfig.txt
for /f “tokens=*” %%f in (C:\ipconfig.txt) do (
if not exist C:\ipgefunden.txt (
echo %%f | find “WLAN”
if not errorlevel 1 (set nictemp=%%f)
echo %%f | find “192.168.xxx.”
if not errorlevel 1 (echo IP gefunden >> C:\ipgefunden.txt)
)
)
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 77.109.148.136 index=1
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 77.109.148.137 index=2
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 84.200.69.80 index=3
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 84.200.70.40 index=4
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 202.155.229.206 index=5
netsh interface ipv4 add dns name=”%nictemp:~17,-1%” 202.155.233.206 index=6
rem ende teil2
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:bf0:0:0:0:0:0:2 index=1
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:1bc0:0:0:0:ffff:aaaa:2 index=2
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:1608:10:25::1c04:b12f index=3
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2a01:780:c000:1:0:0:0:1 index=4
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:1608:10:25::9249:d69b index=5
netsh interface ipv6 add dns name=”%nictemp:~17,-1%” 2001:1608:10:25::1c04:b12f index=6
echo DNS wurde umgestellt
:ENDE