Jump to content

DNS batch mehrere Clients


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Hallo zusammen,

 

 

ich habe ein Problem.

 

Kein DHCP gewünscht jedoch unzählige Clients&Server vorhanden.

 

 

Ich muss die DNS Einträge editieren und löse das ganze mit psexec.

 

Ich habe derzeit alle grundlegenden befehle und es klappt soweit auch mit der Änderung, leider nur von Hand.

 

 

Anforderung ist jedoch dass das Scritp den Namen des Netzwerkadaptaers automatisch herlausliest, da dieser zum Standard "local area Connection sehr oft abweicht.

Den herausgelesenen Namen soll es automatisch in die
"netsh interface ip add wins name="Local Area Connection" addr=xx.xx.xx.xx" setzen.

 

Die zweite Herausforderung ist, da ich viele Clients habe, automatisch eine Liste von Ipadresse abzuarbeiten.

 

 

ich scheitere jedoch daran:

 

das gebe ich unter CMD ein:

\\pfadzu\psexec @\\pfadzurIPListe\dnslog-gefiltert.txt -i 0 -u "domäne\user" -p "Password"

netsh interface ip set dns name="Local Area Connection" static xx.xx.xx.xx

netsh interface ip add dns "Local Area Connection" xxx.xxx.xx.xxx

netsh interface ip add wins name="Local Area Connection" addr=xxx.xx.xx.xxx

netsh interface ip add wins name="Local Area Connection" addr=xx.xx..xx.xx

....

...

...

...

...

 

auch den Befehl zum auslesen des Netzwerkadapternamen habe ich:

for /F "skip=2 tokens=2,*" %a in ('netsh interface show interface') do echo %b

 

Komme mangels fehlender scriptkenntnisse nicht weiter.

 

Wäre froh über einen Lösungsvorschlag

Link zu diesem Kommentar

Mir fehlt hierzu das Wissen was Scripten angeht, mir fehlt auch die zeit um mich hier groß einzulesen bezüglich Powershell.

 

Da SCCM Vorrang hat und ich mich gerade in dem Bereich einarbeite.

 

Deswegen hatte ich nach üblichen bzw. leichten Methoden wie .cmd gesucht, was auch funktioniert hat nur leider nicht als Batch für mehrere Clients.

Link zu diesem Kommentar

Dann lies doch mal den Blogpost. Mit WMIC brauchst Du nicht scripten, das sind alles Einzeiler.

 

Ich würde auch nicht auf den Namen der Netzwerkverbindung abheben, sondern nach dem verbundenen Netzwerkadapter schauen. Der Parameter NetConnectionStatus ist da Dein Freund. 2 bedeutet da verbunden: https://blogs.technet.com/b/heyscriptingguy/archive/2008/09/08/how-do-i-find-information-about-the-network-adapter-cards-on-my-computer.aspx

 

Oser gleich DHCP einführen. Was spricht denn dagegen? Wovor habt ihr da Angst?

Link zu diesem Kommentar

DHCP ist aktiv, aber in der Hinsicht dass es aus der Historie gewachsen ist anhand von Endgeräten die auf eine IP-Adresse konfiguriert sind bzw. die Firewall selbst entsprechend konfiguriert ist.

Kann der Client nicht einfach auf DHCP umgestellt werden, hierzu müssen unzählige Endgeräte manuell um konfiguriert werden die mit dem Client kommunizieren.

 

 

Vielen Dank für den Tipp, werde es mir anschauen!

Link zu diesem Kommentar

DHCP ist aktiv, aber in der Hinsicht dass es aus der Historie gewachsen ist anhand von Endgeräten die auf eine IP-Adresse konfiguriert sind bzw. die Firewall selbst entsprechend konfiguriert ist. Kann der Client nicht einfach auf DHCP umgestellt werden, hierzu müssen unzählige Endgeräte manuell um konfiguriert werden die mit dem Client kommunizieren.

Das D bei DHCP steht nicht zwingend für dynamische IP-Vergabe, sondern Du kannst damit auch dynamisch nur IP-Einstellungen wie DNS- oder WINS-Server oder das Standard Gateway mitgeben. Du kannst entweder den ARP-Cache des Switch auslesen oder WinARPWatch laufen lassen. Damit bekommst Du eine Liste mit Clients und deren IP- und MAC-Adressen. Das nutzt Du dann, um im DHCP-Server Reservierungen anzulegen. Der lässt sich auch bei früheren Versionen per Kommandozeile oder bei der aktuellen per PowerShell ansteuern, so dass Du das nicht mit der Maus zusammenklickern musst. 

 

Für Deinen aktuell gewählten Weg schau mal mit folgendem Befehl nach, ob das richtige Netzwerkinterface zurückkommt. Das fragt nach einem aktuell IP-aktivierten und DHCP-deaktivierten Netzwerkinterface - damit sollten Dialup- und VPN-Verbindungen rausfallen, die sind ja meist DHCP-aktiviert:

C:\>WMIC NICCONFIG WHERE (IPEnabled=TRUE and DHCPEnabled=FALSE) GET Index, Description
Description                           Index
Intel(R) Centrino(R) Advanced-N 6235  0

Für die Ansteuerung der Clients brauchst Du kein PSEXEC. WMI kann Clients mit dem Befehl 

C:\>WMIC /NODE /?

NODE - Bestimmt, auf welchen Servern der Alias ausgeführt wird.
SYNTAX:

/NODE:<Computerkennungsliste>
HINWEIS: <Computerkennungsliste> ::= <@Dateiname | Computerkennung> | <@Dateiname | Computerkennung> <,Computerkennungsliste>

HINWEIS: Schließen Sie den Parameterwert in doppelte Anführungszeichen ein, falls der Wert Sonderzeichen enthält, wie z. B. "-" oder "/".

über das Netzwerk angesprochen werden. Praktisch an diesem Befehl ist, dass man ihm eine durch Kommata getrennte Liste von Rechnern oder auch eine Datei mit Rechnernamen übergeben kann, die sich anschließend gleichzeitig abfragen lassen. Damit kannst Du alle Clients auf einen Schlag umstellen - denk aber daran, das vorher gründlich zu testen.

 

Falls man auf dem Zielrechner unter einem anderen Konto tätig werden muss, ruft man

WMIC /node:[Computername] /user:[Benutzername] /password:[Kennwort]

auf. Falls ja, kannst Du so DNS- und WINS-Server setzen:

C:\>WMIC /node:[Computername] /user:[Benutzername] /password:[Kennwort] NICCONFIG WHERE (IPEnabled=TRUE and DHCPEnabled=FALSE) CALL SetDNSServerSearchOrder ("x.x.x.x","y.y.y.y")
C:\>WMIC /node:[Computername] /user:[Benutzername] /password:[Kennwort] NICCONFIG WHERE (IPEnabled=TRUE and DHCPEnabled=FALSE) CALL SetWINSServer ("z.z.z.z")

Noch ein paar Tipps zur Verwendung von WMI: Voraussetzung ist, dass der dafür nötige Dienst gestartet ist. Das lässt sich mit dem Befehl

sc query winmgmt

herausfinden. Läuft er nicht, dann kann man das auf dem Zielsystem mit

sc start winmgmt

nachholen. Beim Zugriff auf Remote-PCs kann sich zudem die Firewall als Hindernis erweisen. Um herauszufinden, ob sie eingehende WMI-Anfragen durchlässt, hilft der Aufruf von

netsh advfirewall firewall show rule name="Windows-Verwaltungsinstrumentation (WMI eingehend)"

Ist die betreffende Regel nicht aktiv, hilft der Befehl

netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes

WMIC ist ziemlich cool, wenn man einmal damit angefangen hat. Wie ein schweizer Messer.

 

Have fun!

Daniel

bearbeitet von Daniel -MSFT-
Link zu diesem Kommentar

 

Das D bei DHCP steht nicht zwingend für dynamische IP-Vergabe, sondern Du kannst damit auch dynamisch nur IP-Einstellungen wie DNS- oder WINS-Server oder das Standard Gateway mitgeben. Du kannst entweder den ARP-Cache des Switch auslesen oder WinARPWatch laufen lassen. Damit bekommst Du eine Liste mit Clients und deren IP- und MAC-Adressen. Das nutzt Du dann, um im DHCP-Server Reservierungen anzulegen. Der lässt sich auch bei früheren Versionen per Kommandozeile oder bei der aktuellen per PowerShell ansteuern, so dass Du das nicht mit der Maus zusammenklickern musst. 

 

Für Deinen aktuell gewählten Weg schau mal mit folgendem Befehl nach, ob das richtige Netzwerkinterface zurückkommt. Das fragt nach einem aktuell IP-aktivierten und DHCP-deaktivierten Netzwerkinterface - damit sollten Dialup- und VPN-Verbindungen rausfallen, die sind ja meist DHCP-aktiviert:

C:\>WMIC NICCONFIG WHERE (IPEnabled=TRUE and DHCPEnabled=FALSE) GET Index, Description
Description                           Index
Intel(R) Centrino(R) Advanced-N 6235  0

Für die Ansteuerung der Clients brauchst Du kein PSEXEC. WMI kann Clients mit dem Befehl 

C:\>WMIC /NODE /?

NODE - Bestimmt, auf welchen Servern der Alias ausgeführt wird.
SYNTAX:

/NODE:<Computerkennungsliste>
HINWEIS: <Computerkennungsliste> ::= <@Dateiname | Computerkennung> | <@Dateiname | Computerkennung> <,Computerkennungsliste>

HINWEIS: Schließen Sie den Parameterwert in doppelte Anführungszeichen ein, falls der Wert Sonderzeichen enthält, wie z. B. "-" oder "/".

über das Netzwerk angesprochen werden. Praktisch an diesem Befehl ist, dass man ihm eine durch Kommata getrennte Liste von Rechnern oder auch eine Datei mit Rechnernamen übergeben kann, die sich anschließend gleichzeitig abfragen lassen. Damit kannst Du alle Clients auf einen Schlag umstellen - denk aber daran, das vorher gründlich zu testen.

 

Falls man auf dem Zielrechner unter einem anderen Konto tätig werden muss, ruft man

WMIC /node:[Computername] /user:[Benutzername] /password:[Kennwort]

auf. Falls ja, kannst Du so DNS- und WINS-Server setzen:

C:\>WMIC /node:[Computername] /user:[Benutzername] /password:[Kennwort] NICCONFIG WHERE (IPEnabled=TRUE and DHCPEnabled=FALSE) CALL SetDNSServerSearchOrder ("x.x.x.x","y.y.y.y")
C:\>WMIC /node:[Computername] /user:[Benutzername] /password:[Kennwort] NICCONFIG WHERE (IPEnabled=TRUE and DHCPEnabled=FALSE) CALL SetWINSServer ("z.z.z.z")

Noch ein paar Tipps zur Verwendung von WMI: Voraussetzung ist, dass der dafür nötige Dienst gestartet ist. Das lässt sich mit dem Befehl

sc query winmgmt

herausfinden. Läuft er nicht, dann kann man das auf dem Zielsystem mit

sc start winmgmt

nachholen. Beim Zugriff auf Remote-PCs kann sich zudem die Firewall als Hindernis erweisen. Um herauszufinden, ob sie eingehende WMI-Anfragen durchlässt, hilft der Aufruf von

netsh advfirewall firewall show rule name="Windows-Verwaltungsinstrumentation (WMI eingehend)"

Ist die betreffende Regel nicht aktiv, hilft der Befehl

netsh advfirewall firewall set rule group="Windows-Verwaltungsinstrumentation (WMI)" new enable=yes

WMIC ist ziemlich cool, wenn man einmal damit angefangen hat. Wie ein schweizer Messer.

 

Have fun!

Daniel

 

 

Ich danke dir vielmals, werde mich gleich ans Werk setzen und es testen.

 

Werde den Teamleiter bezüglich der statischen Reservierung nochmal ansprechen, weshalb er das so nicht möchte.

 

 

p.s. Gruppenrichtlinien und Domäne sind vorhanden.

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...