Ich hatte letztens folgendes Problem: Nach einer AcrtiveDirectory-Migration haben sich die DNS-Server für die Domäne geändert. Folglich mussten auf allen Clients (Windows XP und Windows 7) die neuen DNS-Server eingetragen werden. Mit DHCP ist das ja ganz einfach – nur bei meinem Fall waren es Clients mit statischer IP-Konfiguration. Und es waren viele…
Deshalb hab ich mir ein Script (eine Batch) gebaut, mit der ich das automatisiert machen lassen kann:
echo off ver | find "XP" if errorlevel 1 (goto :7) else (goto :XP) :XP echo WinXP ipconfig | find "Ethernet" >> nic.tmp set /P nictemp=<nic.tmp del nic.tmp netsh interface ip set dns name="%nictemp:~16,-1%" static 1.2.3.4 netsh interface ip add dns name="%nictemp:~16,-1%" 1.2.3.5 index=2 goto :end :7 echo Win7 ipconfig | find "Ethernet" >> nic.tmp set /P nictemp=<nic.tmp del nic.tmp netsh interface ip set dns name="%nictemp:~17,-1%" static 1.2.3.4 netsh interface ip add dns name="%nictemp:~17,-1%" 1.2.3.5 index=2 goto :end :end exit
Kurze Erklärung: zuerst wird überprüft ob Windows XP oder darüber (Vista und Windows 7).
Danach wird der Name der Netzwerkkarte ausgelesen – weil man ja nicht hundertprozentig sicher sein kann das die Karte „LAN-Verbindung“ heißt. Gibt immer ein paar Helden die die Karte umbenennen oder es ist mal eine zweite Karte eingebaut worden, etc…
Dann wird der Name in den netsh-Befehl übergeben (dabei wird vorne und hinten noch Text abgeschnitten) – und fertig ist die Umstellung!
Einen Haken gibt es an der Sache: Ein normaler Benutzer hat nicht die Rechte die Netzwerkeinstellungen zu ändern. Da muss man ein wenig nachhelfen:
Es gibt da verschieden Wege: Man kann die Benutzer in die lokale Gruppe der Netzwerkkonfigurations-Operatoren mit aufnehmen (lässt sich per GPO machen) oder man gibt den Usern für diese Aktion lokale Admin-Rechte (per GPO) und entfernt diese nach der Aktion oder (so hab ich es gemacht) man lässt das Script in einem Login-Script mit Admin-Rechten laufen (z.B mit dem Tool RunasSPC http://www.robotronic.de/runasspc.html).
Mir hat es geholfen – hat super funktioniert 🙂
Update: Unter http://blog.devilatwork.de/dns-umstellung-per-batchfile/ hat das Script jemand noch ein wenig aktualisiert (und die ganzen XP-Altlasten entfernt).
Pingback:The Devil At Work » DNS-Umstellung per Batchfile
Hallo,
vielen Dank für die Codeschnipsel. Die haben mir beim Basteln meines Skriptes weitergeholfen. Allerdings hat das mit dem „set“ und „add“ bei mir so nicht ganz hingehauen. Nur mit „add“ hat es aber geklappt. Ich habe das Skript noch ein bisschen modifiziert und hier veröffentlicht: http://blog.devilatwork.de/dns-umstellung-per-batchfile/
Hoffe du hast da nichts gegen 😉
Hi,
schön das mein alter Code noch wem genutzt hat 🙂
Geholfen hat es mir auf jeden Fall. Manchmal braucht man halt doch noch ein gutes altes Batchfile…