danielbodensee
Goto Top

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 face-smile

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

Content-ID: 299909

Url: https://administrator.de/contentid/299909

Ausgedruckt am: 18.11.2024 um 01:11 Uhr

emeriks
emeriks 23.03.2016 um 13:47:14 Uhr
Goto Top
Hi,
ich lese raus, dass Du es in PowerShell versuchst?

Du könntest über WMI den Computernamen abfragen. Verbinden über IP-Adresse, Abfrage des Namens, vergleichen mit erwarteten Namen.

E.
SaschaRD
SaschaRD 23.03.2016 aktualisiert um 13:58:48 Uhr
Goto Top
Hallo,

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
127944
127944 23.03.2016 um 15:28:54 Uhr
Goto Top
Moin,

ich würde erst einmal den DNS sauber zum laufen bringen.
emeriks
emeriks 23.03.2016 aktualisiert um 15:47:20 Uhr
Goto Top
Was heißt "sauber"? In einer Umgebung mit aktivierten dynamischen Updates in der DNS-Zone kommt sowas schon mal vor.
127944
127944 23.03.2016 um 16:12:54 Uhr
Goto Top
Heißt dynamisches Update nicht, das ein Eintrag aktualisiert und nicht dupliziert wird?
emeriks
emeriks 23.03.2016 um 16:24:13 Uhr
Goto Top
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.
DanielBodensee
DanielBodensee 23.03.2016 um 17:11:32 Uhr
Goto Top
Hi,

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?

Gruss,
Daniel
DanielBodensee
DanielBodensee 23.03.2016 um 17:12:20 Uhr
Goto Top
Hi,

ja klar, ist natürlich Powershell face-smile

Gruss,
Daniel
DanielBodensee
DanielBodensee 23.03.2016 um 17:13:56 Uhr
Goto Top
Leider ist es so das wir zwar schon immer danach schauen das alles "sauber" läuft, aber das ist alles recht dynamisch da unsere Anwender auch per VPN sich anmelden und das wechselweise mehrmals am Tag (je nachdem wo gearbeitet wird).
emeriks
emeriks 23.03.2016 aktualisiert um 17:33:33 Uhr
Goto Top
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.
Connecting to WMI on a Remote Computer by Using Windows PowerShell
holli.zimmi
holli.zimmi 24.03.2016 um 18:44:58 Uhr
Goto Top
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":
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
holli.zimmi
holli.zimmi 17.08.2018 um 09:49:45 Uhr
Goto Top
Hi,

wäre es nicht besser, das Script zustarten im Hintergrund, wenn der User sich anmeldet und die Daten ausliest aus C:\users!
Genau anders herum das Script bauen!
1. Server fragt Clients ( eure Variante)
2. Client gibt Info an den Server per Anmelde-vorgang!

Gruß

Holli