PORT 7010.0.1.20/24link up · neuMehr

Weitere Themen

WMIC wird nicht erkannt: So ersetzen Sie Abfragen durch PowerShell

WMIC wird unter aktuellen Windows-11-Versionen nicht mehr erkannt. Mit Get-CimInstance ersetzen Sie lokale Abfragen in PowerShell.

Windows-Terminal als Illustration für den Wechsel von WMIC zu PowerShell

Sie geben in der Eingabeaufforderung oder in PowerShell einen WMIC-Befehl ein und Windows meldet, dass „wmic“ nicht erkannt wird? Auf unterstützten Windows-11-Versionen ist das erwartbar: Microsoft hat das Programm entfernt. WMI selbst ist weiterhin verfügbar. Für lokale Abfragen können Sie PowerShell mit Get-CimInstance verwenden.

WMIC fehlt, WMI bleibt

WMIC war das Kommandozeilenprogramm für Abfragen über Windows Management Instrumentation (WMI). Microsoft hat WMIC aus den derzeit unterstützten Versionen von Windows 11 entfernt. Das Programm ist auch nicht mehr als Feature on Demand verfügbar. Die WMI-Infrastruktur bleibt Bestandteil von Windows.

Die folgenden Beispiele fragen den lokalen PC ab. Get-CimInstance verwendet ohne -ComputerName oder -CimSession das lokale WMI. Das Cmdlet ist nur unter Windows verfügbar.

WMIC-Befehle in PowerShell ersetzen

Bei WMIC standen Klasse und gewünschte Eigenschaften in einem Befehl. PowerShell fragt die WMI-Klasse mit Get-CimInstance ab. Select-Object begrenzt anschließend die angezeigten Eigenschaften.

Bisheriger WMIC-BefehlPowerShell
wmic bios get serialnumberGet-CimInstance Win32_BIOS | Select-Object SerialNumber
wmic computersystem get modelGet-CimInstance Win32_ComputerSystem | Select-Object Model
wmic cpu get nameGet-CimInstance Win32_Processor | Select-Object Name
wmic diskdrive get model,sizeGet-CimInstance Win32_DiskDrive | Select-Object Model, Size
wmic process get name,processidGet-CimInstance Win32_Process | Select-Object Name, ProcessId
wmic os get caption,versionGet-CimInstance Win32_OperatingSystem | Select-Object Caption, Version

Für die BIOS-Seriennummer ohne Spaltenüberschrift geben Sie diese Abfrage ein:

(Get-CimInstance Win32_BIOS).SerialNumber

Eine Batchdatei kann PowerShell direkt aufrufen:

powershell.exe -NoProfile -Command "(Get-CimInstance Win32_BIOS).SerialNumber"

Ersetzen Sie jeden WMIC-Aufruf gezielt. Die PowerShell-Abfrage liefert Objekte statt Text. Ein Skript, das die bisherige Textausgabe weiterverarbeitet, kann deshalb eine Anpassung benötigen. Prüfen Sie das Ergebnis zuerst auf einem Testrechner und vergleichen Sie die Ausgabe mit dem erwarteten Wert.

Wenn ein Programm noch WMIC benötigt

Ruft ein älteres Verwaltungsprogramm oder ein Herstellerskript direkt wmic.exe auf, prüfen Sie zuerst, ob der Anbieter eine aktualisierte Version bereitstellt. Das ist für dauerhaft genutzte Abläufe die bessere Lösung.

Microsoft dokumentiert eine vorübergehende Wiederherstellung für Anwendungen und Skripte, die noch von WMIC abhängen. Microsoft warnt, dass das Paket keine sichere langfristige Lösung ist. Die Details stehen in der Microsoft-Dokumentation zur Entfernung von WMIC. Planen Sie die Umstellung auf PowerShell oder eine andere unterstützte Schnittstelle.