Script für Netzwerkadresse ändern

pitey

Lt. Junior Grade
Registriert
Juli 2008
Beiträge
284
Guten Morgen,

ich würde gerne ein Script erstellen, das prüft welche DNS & WINS einträge bei den Netzwerkeinstellungen jeweiliger Client PCs eingetragen ist. Wenn dann der Eintrag z.B. lautet 192.168.0.1 soll dieser gelöscht/geändert werden in z.B. 192.168.0.2.
Dies soll die DNS als auch die WINS Einträge überprüfen.

bis jetzt habe ich folgendes:

netsh -c interface ip dump > datei.txt -->> ///speichert die aktuellen Einstellungen in eine Textdatei.


pushd interface ip

set dns name="LAN-Verbindung" source=static addr=192.168.0.2 register=NONE
set wins name="LAN-Verbindung" source=static addr=192.168.0.2

popd


Doch wie prüfe ich die vorhanden Einstellungen?
Also wenn die DNS & WINS eine 192.168.0.1 Adresse haben, soll das Script ausgeführt werden. Wenn sie nicht diese Adresse haben, soll das Script nichts machen.

Vielleicht hat ja jemand schon so was geschrieben und kann mir ein wenig helfen.
danke
 
ipconfig | find "IP-A"
(über ipconfig /all bekommst Du detailliertere Infos), eventuell diese in eine Datei schreiben
und anschließend die Datei auslesen / auswerten.

nur wie mache ich eine "if" abfrage in einer cmd datei?
ich schreibe ja die aktuellen einstellungen in eine txt datei und wie verknüpfe ich diese jetzt mit einer if?

set dns name="LAN-Verbindung" source=static addr=192.168.0.2 register=NONE
set wins name="LAN-Verbindung" source=static addr=192.168.0.2

irgendwie scheint das nicht zu funktionieren, er ändert mir die einstellung nicht :(
die datei die die aktuellen einstellungen speichert wird erzeugt aber die umstellung der adresse erfolgt nicht, warum?

EDIT: geht jetzt doch, mit:

netsh interface ip set dns name="LAN-Verbindung" source=static addr=192.168.0.2 register=PRIMARY
netsh interface ip set wins name="LAN-Verbindung" gateway=192.168.0.2 register=PRIMARY
 
Zuletzt bearbeitet:
If hab ich jetzt auch gerade nicht auf Tasche, müsste ich auch erst ausprobieren,
eventuell kommst Du mit findstr weiter?

z. B. ipconfig /all | find "DNS-Server" | findstr /c:"192.168.0.1"

Gibt Dir entweder die Zeile mit der gefunden IP aus, oder gibt Dir keine Zeile aus.
Kannst ja mal probieren, ob Du damit weiterkommst.

Du könntest das Ergebnis wiederum in eine Datei schreiben und anschließend die Größe der
Datei prüfen (wäre noch eine Möglichkeit).

Sorry, geht bestimmt auch einfacher, kann ich jetzt auf die Schnelle allerdings nicht mal
eben ausprobieren...
 
hm, bringt mich irgendwie nicht weiter, trotzdem danke.

ich versuch es damit:
if not exist interface ip set dns name="LAN-Verbindung" source=static addr=192.168.0.1 register=PRIMARY
netsh interface ip set dns name="LAN-Verbindung" source=static addr=192.168.0.1 register=PRIMARY


schlägt aber leider fehl :(
 
Zurück
Oben