IP-Adresse in Windows mit Script zwischen fest und dynamisch wechseln

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.

CMD Quelle: Screenshot Windows

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.

Like
Like Love Haha Wow Sad Angry
1

4 Replies to “IP-Adresse in Windows mit Script zwischen fest und dynamisch wechseln”

  1. das hilft nicht, wenn man automatiesiren will (ohne vorher den netwerkadapter namen nachzuschauen)… desweiteren funktionieren solche skripte nicht immer (trotz admin)

    1. 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

  2. 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

    1. 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.