Führen Sie den WMIC-Befehl im gesamten Netzwerk aus

7

Anstatt dies einzeln in eine Eingabeaufforderung einzugeben:

wmic / node: ipaddress / user: administrator / password: mypassword bios get serialnumber

Wie kann ich das für ein gesamtes Subnetz ausführen und in ein Textdokument ausgeben? Da ich dies alle paar Monate mache, um unseren Computerbestand zu überprüfen, würde ich davon ausgehen, dass es eine viel einfachere Möglichkeit gibt, dies in ein Batch-Skript einzufügen, anstatt es manuell zu tun.

C-Schwindel
quelle

Antworten:

13

Sie können eine Liste danach node: node:ip1,ip2,ip3erstellen oder eine Datei verwenden. node:@fileFügen Sie also einfach alle Ihre IP-Adressen in eine Datei ein und führen Sie Folgendes aus:

wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv

Dies setzt voraus, dass Benutzer / Kennwort auf allen Computern gleich ist.

wmz
quelle
Gibt es eine Möglichkeit, Konsolen in der Ausgabedatei aufzulisten, die fehlgeschlagen sind? Die Antwort, die ich von einigen bekomme, ist "RPC nicht verfügbar" oder so ähnlich. Ich möchte wissen, welche ich zurückgehen und aus diesem Grund überprüfen muss.
C-Dizzle
@ C-Dizzle Sie könnten stderr in eine Datei umleiten, z. mit `2> log.txt` (Sie können es vor wmicoder ganz am Ende von cmdline hinzufügen und dann analysieren. Sie können auch hinzufügen/failfast:on
wmz
Ich muss diesen Teil nicht richtig machen. Können Sie mir ein Beispiel geben, wie ich das an meinen Befehl anhängen kann?
C-Dizzle
2>log.txt wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csvoder wmic /node:@nodes.txt /user:administrator /password:mypassword /output:out.csv bios get serialnumber /format:csv 2>log.txt(beide sollten einzelne Zeilen sein)
wmz
2

Eine for-Schleife mit einer Dateiumleitung funktioniert, obwohl Sie sie möglicherweise eine Weile stehen lassen und ausführen möchten, wenn Sie mehr Lücken in Ihrem Knotensatz haben (mit anderen Worten, die IP in der Schleife kann nicht aufgelöst werden).

(FOR /L %s IN (1,1,254) DO wmic /node:192.96.1.%s /user:administrator /password:pass bios get serialnumber) >> c:\results.txt

Wenn Sie dies in eine Batch-Datei einfügen möchten, ersetzen Sie die %sdurch %%s. Das ist alles.

Chad Harrison
quelle