DNS Server IP zuweisen?
Hallo,
da ich bei mir im Netzwerk gerade am umstellen auf w2k3 bin ergibt sich ein kleines Problem.
Ich habe einen neuen Server bereits zum 2ten bzw. alternativen DNS Server gemacht. gibt es die Möglichkeit mein Windows XP Clients die neue Adresse des DNS Servers irgendwie remote zu zuweisen? Ich bin leider auf statische IP´s angewiesen und kann so kein DHCP einsetzen.
In den Gruppenrichtlinien gibt es ja dazu nichts, lediglich Proxy etc.
Das Netzwerk beinhaltet ca. 300 Rechner, wäre jetzt sehr umfangreich bei allen die DNS Adresse zu ändern.
Kennt jemand eine Möglichkeit?
Schonmal Danke
Gruß
Marcel
da ich bei mir im Netzwerk gerade am umstellen auf w2k3 bin ergibt sich ein kleines Problem.
Ich habe einen neuen Server bereits zum 2ten bzw. alternativen DNS Server gemacht. gibt es die Möglichkeit mein Windows XP Clients die neue Adresse des DNS Servers irgendwie remote zu zuweisen? Ich bin leider auf statische IP´s angewiesen und kann so kein DHCP einsetzen.
In den Gruppenrichtlinien gibt es ja dazu nichts, lediglich Proxy etc.
Das Netzwerk beinhaltet ca. 300 Rechner, wäre jetzt sehr umfangreich bei allen die DNS Adresse zu ändern.
Kennt jemand eine Möglichkeit?
Schonmal Danke
Gruß
Marcel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 41970
Url: https://administrator.de/contentid/41970
Ausgedruckt am: 20.11.2024 um 01:11 Uhr
14 Kommentare
Neuester Kommentar
Hallo Marcel!
Zunächst zB:
Näheres zu netsh: http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/libra ...
Um alle Rechner einer Domäne (oder auch nur ganz bestimmte) umzustellen siehe
Kurze Erklärung: VBScript erstellt Liste aller Computer in Textdatei (diese ev. von Hand editieren, um einzelne Rechner auszunehmen), dann mit Batch (FOR /F-Schleife) alle in der Liste eingetragenen Rechner mit obiger Anweisung umstellen.
HTH
bastla
Zunächst zB:
netsh -r Remotecomputer interface ip set dns name="LAN-Verbindung" static 192.168.0.2
Näheres zu netsh: http://www.microsoft.com/technet/prodtechnol/windowsserver2003/de/libra ...
Um alle Rechner einer Domäne (oder auch nur ganz bestimmte) umzustellen siehe
Kurze Erklärung: VBScript erstellt Liste aller Computer in Textdatei (diese ev. von Hand editieren, um einzelne Rechner auszunehmen), dann mit Batch (FOR /F-Schleife) alle in der Liste eingetragenen Rechner mit obiger Anweisung umstellen.
HTH
bastla
Hallo Marcel!
Wenn Du Dich von Biber (siehe oben erwähnter Beitrag) nicht dabei erwischen lässt ...
Wir (Biber und ich) hatten uns dort darauf geeinigt, dass der von mir vorgeschlagene Weg mit der automatisierten Erstellung einer derartigen "vollständigen" Batchdatei (für eine "psexec"-Sache, siehe Zeile CLine = ...) unmittelbar durch das Script in Beitrag 3 unflexibel und nicht elegant wäre - funktionieren sollte es allerdings schon.
bastla
Wenn Du Dich von Biber (siehe oben erwähnter Beitrag) nicht dabei erwischen lässt ...
Wir (Biber und ich) hatten uns dort darauf geeinigt, dass der von mir vorgeschlagene Weg mit der automatisierten Erstellung einer derartigen "vollständigen" Batchdatei (für eine "psexec"-Sache, siehe Zeile CLine = ...) unmittelbar durch das Script in Beitrag 3 unflexibel und nicht elegant wäre - funktionieren sollte es allerdings schon.
bastla
Ergänzung: Falls Du allerdings fortlaufende IP-Adressen hast, solltest Du vielleicht einfach eine FOR /L-Schleife verwenden, also etwas in der Art von
für alle Adressen von 172.16.0.10 bis 172.16.0.100
bastla
For /L %i in (10,1,100) do netsh -r 172.16.0.%i interface ip set dns name="LAN-Verbindung" static 172.16.0.2
für alle Adressen von 172.16.0.10 bis 172.16.0.100
bastla
Hallo Marcel!
Falls es an den Anführungszeichen liegen sollte:
netsh -r 192.168.1.50 interface ip set dns name="%DESC%" source=static addr=%DNS0% register=PRIMARY
Wenn es nur mit der Remote-Ausführung Probleme gibt, hilft vielleicht
http://book.itzero.com/read/microsoft/Microsoft.Press.Microsoft.Windows ...
set machine zu verwenden,
die beiden Batch-Zeilen in ein Anmeldescript zu verfrachten (Problem: Adminrechte) oder
per psexec ausführen zu lassen
Übrigens: Die MS-Infoseite von oben bezieht sich auf W2000 - für einen 2003er-Server (habe ich leider nicht zur Verfügung) müsstest Du die Syntax überprüfen.
HTH
bastla
Falls es an den Anführungszeichen liegen sollte:
netsh -r 192.168.1.50 interface ip set dns name="%DESC%" source=static addr=%DNS0% register=PRIMARY
Wenn es nur mit der Remote-Ausführung Probleme gibt, hilft vielleicht
http://book.itzero.com/read/microsoft/Microsoft.Press.Microsoft.Windows ...
set machine zu verwenden,
die beiden Batch-Zeilen in ein Anmeldescript zu verfrachten (Problem: Adminrechte) oder
per psexec ausführen zu lassen
Übrigens: Die MS-Infoseite von oben bezieht sich auf W2000 - für einen 2003er-Server (habe ich leider nicht zur Verfügung) müsstest Du die Syntax überprüfen.
HTH
bastla
Einen hab ich noch:
(abgeleitet von http://forums.windowsitpro.com/web/forum/messageview.aspx?catid=54& ... - was die 1 am Ende bedeutet, weiß ich nicht)
Zum Script (W2000): In der Gruppenrichtlinie Computerkonfiguration / Windows-Einstellungen / Skripts / Starten wählen, zuerst mit "Dateien anzeigen ..." zum entsprechenden Verzeichnis wechseln, dort das Script ablegen und danach über "Hinzufügen ..." in die Richtlinie aufnehmen (OK nicht vergessen - ist zumindest mir schon passiert )
bastla
wmic /node:192.168.1.50 process call create "netsh interface ip set dns name=LAN-Verbindung source=static addr=192.168.1.253 1"
(abgeleitet von http://forums.windowsitpro.com/web/forum/messageview.aspx?catid=54& ... - was die 1 am Ende bedeutet, weiß ich nicht)
Zum Script (W2000): In der Gruppenrichtlinie Computerkonfiguration / Windows-Einstellungen / Skripts / Starten wählen, zuerst mit "Dateien anzeigen ..." zum entsprechenden Verzeichnis wechseln, dort das Script ablegen und danach über "Hinzufügen ..." in die Richtlinie aufnehmen (OK nicht vergessen - ist zumindest mir schon passiert )
bastla
Hallo Marcel!
Hab heute leider keine Zeit mehr, daher nur kurz:
Literaturempfehlung: leider nein; Link zur MS-Doku oben gibt auch nicht wahnsinnig viel her
VBScript: http://www.microsoft.com/technet/scriptcenter/createit.mspx - vor allem das Portable Script Center enthält viele Beispielscripts
Batch: Um die erste Stelle der aktuellen IP herauszufinden könntest Du folgendes verwenden (liefert aber bei 2 Karten nacheinander beide, also zB bei Zuweisung an eine Variable würde die Adresse der 2. Karte drinstehen):
(Wenn nicht im Batch verwendet, natürlich nur %i statt %%i)
Statt echo könntest Du zB Call :Auswertung %%i verwenden und nach dem Label :Auswertung mit %1 auf den übergebenen Wert zugreifen ...
That's all for now
bastla
<Edit>
Reihenfolge im Batch-Code oben umgestellt (tokens=2 nach vorne); für gesamte Adresse statt nur erster Stelle: ändern auf delims=:, also ohne Punkt
</Edit>
Hab heute leider keine Zeit mehr, daher nur kurz:
Literaturempfehlung: leider nein; Link zur MS-Doku oben gibt auch nicht wahnsinnig viel her
VBScript: http://www.microsoft.com/technet/scriptcenter/createit.mspx - vor allem das Portable Script Center enthält viele Beispielscripts
Batch: Um die erste Stelle der aktuellen IP herauszufinden könntest Du folgendes verwenden (liefert aber bei 2 Karten nacheinander beide, also zB bei Zuweisung an eine Variable würde die Adresse der 2. Karte drinstehen):
for /f "tokens=2 delims=:. " %%i in ('netsh int ip show address^|find "IP-Adresse"') do @echo %%i
(Wenn nicht im Batch verwendet, natürlich nur %i statt %%i)
Statt echo könntest Du zB Call :Auswertung %%i verwenden und nach dem Label :Auswertung mit %1 auf den übergebenen Wert zugreifen ...
That's all for now
bastla
<Edit>
Reihenfolge im Batch-Code oben umgestellt (tokens=2 nach vorne); für gesamte Adresse statt nur erster Stelle: ändern auf delims=:, also ohne Punkt
</Edit>
Hallo Marcel!
Zu Deinem DNS-Problem: Was auf jeden Fall funktionieren müsste, ist der Weg über psexec.
Für einen einzelnen Rechner sähe das (auf das Wesentliche beschränkt) so aus:
Wenn Du eine Liste der Computer in einer Textdatei (zB Comp.txt) erstellst, kannst Du in obiger Anweisung die Adresse durch @comp.txt ersetzen, um alle Rechner umzustellen.
Für ev nicht erreichbare Computer gibt es die Schalter -d oder -n.
Die Abfrage der altuellen IP-Adresse lässt sich auch auf die erste Karte ("LAN-Verbindung 1") beschränken:
Statt des echo dann eben ein Befehl oder ein Call ...
Mehrere Stellen der Adresse überprüfen:
Anmerkung: Trennung der ausgegebenen aktuellen Adresse zu Demonstrationszwecken absichtlich mit "-"
Viel Erfolg
bastla
Zu Deinem DNS-Problem: Was auf jeden Fall funktionieren müsste, ist der Weg über psexec.
Für einen einzelnen Rechner sähe das (auf das Wesentliche beschränkt) so aus:
psexec \\192.168.1.50 netsh interface ip set dns "LAN-Verbindung 1" static 192.168.1.253
Wenn Du eine Liste der Computer in einer Textdatei (zB Comp.txt) erstellst, kannst Du in obiger Anweisung die Adresse durch @comp.txt ersetzen, um alle Rechner umzustellen.
Für ev nicht erreichbare Computer gibt es die Schalter -d oder -n.
Die Abfrage der altuellen IP-Adresse lässt sich auch auf die erste Karte ("LAN-Verbindung 1") beschränken:
for /f "tokens=2 delims=:. " %%i in ('netsh int ip show address "LAN-Verbindung 1"^|find /i "IP-Adresse"') do @if %%i neq 10 echo Nicht im 10er-Netz
Statt des echo dann eben ein Befehl oder ein Call ...
Mehrere Stellen der Adresse überprüfen:
for /f "tokens=2-4 delims=:. " %%i in ('netsh int ip show address "LAN-Verbindung 1"^|find /i "IP-Adresse"') do @if %%i.%%j.%%k neq 10.107.45 echo Nicht im Netz 10.107.45.x - Adresse derzeit %%i-%%j-%%k
Anmerkung: Trennung der ausgegebenen aktuellen Adresse zu Demonstrationszwecken absichtlich mit "-"
Viel Erfolg
bastla