WMIC-Batchdatei zum Durchlaufen von CSV und Abrufen des Laufwerkstatus
525
Keiren Medlock
Ich verwende diesen Code, um den Laufwerkstatus der Remote-PCs in meinem Unternehmen zu überprüfen
for /f "tokens=1 delims= " %%a in (C:\temp\HOSTNAMES.csv) do ( WMIC /Node:%%a DiskDrive GET Caption, Status )
Dies funktioniert gut, aber ich muss den Status (OK) oder (Pred Fail) für jeden PC-Hostnamen in unserem Netzwerk erfassen und einen einfachen CSV-Bericht erstellen, da über 2000 PCs zu prüfen sind
so würde der Bericht so aussehen
PC HOSTNAME - STATUS HOSTNAME01A - OK HOSTNAME02B - Pred Fail HOSTNAME03C - Pred Fail HOSTNAME04D - OK
Ich habe wirklich Schwierigkeiten, den Laufwerkstatus einer Variablen zuzuweisen, damit ich den Bericht erstellen kann.
Hängen Sie die WMIC-Ausgabe an eine Textdatei an. Entfernen Sie dann Header mit FIND / v aus dieser Datei
Akina vor 6 Jahren
0
Hallo Akina, vielen Dank für Ihre Antwort. Würde es Ihnen etwas ausmachen, den Code in meinen ursprünglichen Code zu schreiben? Danke noch einmal.
Keiren Medlock vor 6 Jahren
0
Die Option / NODE übernimmt auch einen Dateinamen als Eingabe. `wmic / node: @ Hostnames.txt`.
Squashman vor 6 Jahren
0
2 Antworten auf die Frage
1
LotPings
"tokens=1 delims= " ist die Standardeinstellung und muss nicht ausgedrückt werden.
Bei der Verwendung von wmic mit dem wird /Format:csvder Knoten Teil der Ausgabe sein
:: Q:\Test\2018\10\30\SU_1371253.cmd @Echo off SetLocal EnableExtensions EnableDelayedExpansion ( for /f %%H in (HOSTNAMES.csv) do ( Echo:Processing %%H>CON: for /f "delims=" %%A in (' WMIC /node:%%H DiskDrive GET Caption^,Status /Format:csv ^|findstr /i "%%H" ') do @Echo %%A ) ) > "%~dpn0.Log"
Hallo LotPings, vielen Dank für deine Antwort, wenn sie perfekt funktioniert hat.
Keiren Medlock vor 6 Jahren
0
Vergessen Sie nicht zu erwähnen, dass die Ausgabedatei den gleichen Speicherort und Namen hat wie der Stapel, jedoch die Erweiterung ".Log"
LotPings vor 6 Jahren
0
0
MC ND
Wie von LotPings angegeben, enthält das csvAusgabeformat den Knotennamen. Wenn wir dies mit der Fähigkeit kombinieren, die Hostliste wmicaus einer Datei zu lesen, können wir sie verwenden
wmic /node:@"c:\temp\hostnames.csv" DiskDrive get Caption,Status /format:csv > report.csv
Oder
wmic /node:@"c:\temp\hostnames.csv" /output:"report.csv" DiskDrive get Caption,Status /format:csv
Auf diese Weise starten wir wmicfür jeden Knoten nur einen Prozess anstelle von einem Prozess.