Grundlagen und Einsatz Windows Management Instrumentation

Windows-Praxis: Administrieren mit WMI und WMIC

WMIC richtig einsetzen

Allerdings vergehen in der Regel einige Sekunden, bis dieser Fehler dann angezeigt wird. Wer WMIC in einem größeren Batch-Job einsetzen möchte, kann und wird diese Wartezeit nicht akzeptieren wollen. Natürlich ist es möglich, eine Vorabprüfung durchzuführen, durch die dann die Erreichbarkeit des entfernten Systems überprüft wird.

Nachfrage: Eine dedizierte Abfrage ist unter WMIC sowohl mithilfe des "Get"-Befehls als auch mit einer SQL-ähnliche Abfragefunktion möglich.
Nachfrage: Eine dedizierte Abfrage ist unter WMIC sowohl mithilfe des "Get"-Befehls als auch mit einer SQL-ähnliche Abfragefunktion möglich.

Aber es geht auch viel einfacher: WMIC bietet den Schalter "/failfast" an. Ist dieser Schalter gesetzt, so prüft WMIC die Erreichbarkeit des entsprechenden Systems, ehe die Abfrage an den entfernten CIMOM gesendet wird. Der Aufruf hat dann die folgende Form:

wmic /node:<Rechnername> /failfast:on cpu get "name" /value

Wir haben in diesem Beispiel die Form "/failfast:on" gewählt, denn dadurch verkürzt sich die Zeitspanne bis zur Fehlermeldung auf rund zwei Sekunden, was bei sehr großen Batch-Jobs eine durchaus akzeptable Zeit sein dürfte.

Aber auch die WMI-Methoden lassen sich mithilfe von WMIC aufrufen und nutzen, wie der folgende Aufruf zeigt:

wmic service where name='WUAUSERV' call changestartmode disabled

Mit diesem Befehl kann beispielsweise die Startart des "Windows Update Dienstes" ausgeschaltet werden. Soll sie dann wieder eingeschaltet werden, so geschieht das mithilfe des gleichen Aufrufs und "enabled".

Nützliche Abfrage mit dem Get-Befehl: Hier werden auf einem Windows-7-System drei Eigenschaften des Alias "Logicaldisk" ausgegeben.
Nützliche Abfrage mit dem Get-Befehl: Hier werden auf einem Windows-7-System drei Eigenschaften des Alias "Logicaldisk" ausgegeben.

Wie mächtig die Abfragen mittels WMIC sind, zeigen wir hier in einem letzten Beispiel. So ist es möglich, Abfragen an WMI auch in SQL-ähnlicher Form durchzuführen. Der folgende Befehl listet beispielsweise nur die Drucker auf, deren Name mit L beginnt:

wmic Printer WHERE "Name like 'L%' " GET Name

Experimentieren Sie einfach mit den Möglichkeiten und Fähigkeiten von WMI und vor allen Dingen auch von WMIC. Lassen Sie sich dabei keinesfalls von den zunächst vielleicht unübersichtlichen Ausgaben abschrecken. Ein einfacher Befehl mithilfe von "Get":

wmic logicaldisk get name,volumename,filesystem

bringt beispielsweise schnell und einfach drei wichtige Eigenschaften des Alias "Logicaldisk" auf dem Schirm und zeigt, wie mächtig dieses Kommandozeilenwerkzeug ist. Wer diese Ausgabe via WMI und VBScript erzeugen will, benötigt dafür in der Regel bereits mehrere Zeilen Programmcode. (mje)