PING und NSLOOKUP
Hallo zusammen,
ich muss ein Script schreiben das etwa 3000 Geräte in unserem Netzwerk pingt und bei Antwort die Verzeichnisse unter c:\users ausliest.
Ein Script haben wir schon angefangen, nur zeigen sich leichte Schwächen
Es kann sein das unser DNS leider ab und an vorige IP-Adressen für den Client vorhält und zurück liefert, der Client dahinter aber nicht der ist den ich suche. Würde ich sowas von Hand machen, wäre ein NSLOOKUP auf die IP-Adresse mein nächster Schritt um zu sehen, dass auch der richtige Cliebt dahinter steckt.
Wie würdet ihr das machen?
In einer Textdatei sind alle unsere Clients (NetBiosName) enthalten, diese liest das Script ein und geht in einer Foreach-Schleife durch. In der Schleife wird der Ping abgesetzt , wird eine IP-Adresse geliefert, folgt get-items etc zum auslesen.
Abgesehen das ich noch ein Try/Catch einbauen muss damit es mir kein Fehler wirft bzw ich den loggen kann, wie würdet Ihr sicherstellen das die Kombination NetBiosName und IP-Address passt?
Viele Grüsse,
Daniel
ich muss ein Script schreiben das etwa 3000 Geräte in unserem Netzwerk pingt und bei Antwort die Verzeichnisse unter c:\users ausliest.
Ein Script haben wir schon angefangen, nur zeigen sich leichte Schwächen
Es kann sein das unser DNS leider ab und an vorige IP-Adressen für den Client vorhält und zurück liefert, der Client dahinter aber nicht der ist den ich suche. Würde ich sowas von Hand machen, wäre ein NSLOOKUP auf die IP-Adresse mein nächster Schritt um zu sehen, dass auch der richtige Cliebt dahinter steckt.
Wie würdet ihr das machen?
In einer Textdatei sind alle unsere Clients (NetBiosName) enthalten, diese liest das Script ein und geht in einer Foreach-Schleife durch. In der Schleife wird der Ping abgesetzt , wird eine IP-Adresse geliefert, folgt get-items etc zum auslesen.
Abgesehen das ich noch ein Try/Catch einbauen muss damit es mir kein Fehler wirft bzw ich den loggen kann, wie würdet Ihr sicherstellen das die Kombination NetBiosName und IP-Address passt?
Viele Grüsse,
Daniel
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 299909
Url: https://administrator.de/contentid/299909
Ausgedruckt am: 18.11.2024 um 01:11 Uhr
12 Kommentare
Neuester Kommentar
Hallo,
sehe es wie @emeriks
Beispiele:
Gruß, Sascha
sehe es wie @emeriks
Beispiele:
(gwmi Win32_ComputerSystem).Domain #Gibt die aktuelle Domain des Computers aus.
(gwmi Win32_NTDomain).DomainName #Gibt die aktuelle Domain des Computers aus (Kurzform).
gc env:computername #Gibt den aktuellen Computernamen aus.
Gruß, Sascha
Moin,
ich würde erst einmal den DNS sauber zum laufen bringen.
ich würde erst einmal den DNS sauber zum laufen bringen.
Heißt dynamisches Update nicht, das ein Eintrag aktualisiert und nicht dupliziert wird?
Dupliziert - nein, natürlich nicht.
Aktualisiert - hängt von den Sicherheitseinstellungen und den Berechtigungen des Clients ab. Bzw. des DHCP-Servers, wenn dieser als Update-Proxy fungiert.
Wenn man manuell einen statischen Record für Client-A hat dann kann es auch mal passieren, dass Client-A nebenher noch einen dynamischen Record erstellt.
Ist alles ungünstig und soll so nicht sein. Aber es passiert immer mal wieder. Auch wenn alles "sauber" ist.
Aktualisiert - hängt von den Sicherheitseinstellungen und den Berechtigungen des Clients ab. Bzw. des DHCP-Servers, wenn dieser als Update-Proxy fungiert.
Wenn man manuell einen statischen Record für Client-A hat dann kann es auch mal passieren, dass Client-A nebenher noch einen dynamischen Record erstellt.
Ist alles ungünstig und soll so nicht sein. Aber es passiert immer mal wieder. Auch wenn alles "sauber" ist.
ich gehe ja von meinem Rechner oder später Server auf alle Geräte zu, ich denke hier wird immer der lokale Wert ausgelesen, nicht der des entfernten System.
Oder irre ich mich da?
Wenn Du das einfach so übernimmst, ja. Du musst Dich schon vorher mit dem Remote Computer verbinden.Oder irre ich mich da?
Connecting to WMI on a Remote Computer by Using Windows PowerShell
Hi Daniel,
ich würde den Namen und die Ip-Adresse über den DHCP-Server machen!
Das script läuft nur auf dem Server, da die Windows-Clients nicht alle Parameter haben!
Der Befehl lautet mit "netsh":
<IP-Adresse> des server
<IP-Bereich> 10.200.10.0 (als Beispiel)
Gruß
Holli
ich würde den Namen und die Ip-Adresse über den DHCP-Server machen!
Das script läuft nur auf dem Server, da die Windows-Clients nicht alle Parameter haben!
Der Befehl lautet mit "netsh":
echo hier werden die reservierten IP und Druckernamen angezeigt
netsh dhcp server <IP-Adresse> V4 scope <Ip-Bereich> dump | findstr %1
echo hier werden alle Ip mit der MAC angezeigt
netsh dhcp server <IP-Adresse> V4 scope <Ip-Bereich> show clients | findstr %
<IP-Adresse> des server
<IP-Bereich> 10.200.10.0 (als Beispiel)
Gruß
Holli