Nutzung der WMIC

Nutzung der Windows Management Instrumentation Console

WMIC steht zwar erst ab Windows XP/Server 2003 zur Verfügung, allerdings müssen Systeme, auf die remote zugegriffen wird, lediglich den WMI-Dienst ausführen.

WMI- und WMIC-Unterstützung
WMI- und WMIC-Unterstützung
Windows Version WMIC-fähig WMI-fähig
Windows Server 2003 Ja Ja
Windows XP Professional Ja Ja
Windows XP Home Nein Ja (außer Remote-Zugriff)
Windows 2000 Server Nein Ja
Windows 2000 Professional Nein Ja
Windows NT Nein Ja Nachrüstbar (SP4)
Windows Me Nein Ja
Windows 9x Nein Nachrüstbar

Referenz: Externer Link Windows Management Instrumentation (WMI) on Computers Running Windows 98, Windows 98 Second Edition, and Windows Millennium Edition

WMIC kann in zwei unterschiedlichen Modi verwendet werden:

Im interativen Modus ruft man auf der Konsole mit WMIC die WMIC-Eingabeaufforderung aus, die über EXIT oder QUIT wieder verlassen werden kann. Im Batchmodus werden WMIC-Befehle und die entsprechenden Parameter zusammen aufgerufen und man erhält direkt das Ergebnis.

Ein großer Vorteil der WMIC gegenüber WMI ist die Nutzung von Alias-Namen, um auf die wichtigsten Kategorien (= WMI-Klassen) einfach und schnell zugreifen zu können.

Welche ALIAS-Namen zur Verfügung stehen, lässt sich schnell auf der Konsole ermitteln:
C:\>WMIC Alias GET FriendlyName, Target
FriendlyName         Target
TapeDrive            Select * from Win32_TapeDrive
UserAccount          Select * from Win32_UserAccount
ComputerSystem       Select * from Win32_ComputerSystem
NTEvent              Select * from Win32_NTLogEvent
MEMCACHE             Select * from WIN32_CACHEMEMORY
PageFileSet          Select * from Win32_PageFileSetting
Voltage              Select * from Win32_VoltageProbe
Alias                Select * from Msft_CliAlias
NetClient            Select * from WIN32_NetworkClient
SysAccount           Select * from Win32_SystemAccount
NetLogin             Select * from Win32_NetworkLoginProfile
DiskQuota            Select * from Win32_DiskQuota
DESKTOP              Select * from WIN32_DESKTOP
SystemEnclosure      Select * from Win32_SystemEnclosure
BootConfig           Select * from Win32_BootConfiguration
WMISet               Select * from Win32_WMISetting
RecoverOS            Select * from Win32_OSRecoveryConfiguration
NetProtocol          Select * from Win32_NetworkProtocol
SystemSlot           Select * from Win32_SystemSlot
SoftwareFeature      Select * from Win32_SoftwareFeature
NetUse               Select * from Win32_NetworkConnection
SCSICONTROLLER       Select * from Win32_SCSIController
Startup              Select * from Win32_StartupCommand
LogicalDisk          Select * from Win32_LogicalDisk
SoundDev             Select * from WIN32_SoundDevice
SoftwareElement      Select * from Win32_SoftwareElement
MemPhysical          Select * from Win32_PhysicalMemoryArray
PageFile             Select * from Win32_PageFileUsage
Process              Select * from Win32_Process
PortConnector        Select * from Win32_PortConnector
Job                  Select * from Win32_ScheduledJob
DCOMAPP              Select * from WIN32_DCOMApplication
Service              Select * from Win32_Service
BaseBoard            Select * from Win32_BaseBoard
LOGON                Select * from Win32_LogonSession
SysDriver            Select * from Win32_SystemDriver
Temperature          Select * from Win32_TemperatureProbe
DeviceMemoryAddress  Select * from Win32_DeviceMemoryAddress
NTEventLog           Select * from Win32_NTEventlogFile
BIOS                 Select * from Win32_BIOS
DMAChannel           Select * from Win32_DMAChannel
LoadOrder            Select * from Win32_LoadOrderGroup
TimeZone             Select * from Win32_TimeZone
CPU                  Select * from WIN32_PROCESSOR
Port                 Select * from Win32_PortResource
Share                Select * from Win32_Share
Partition            Select * from Win32_DiskPartition
FSDir                Select * from Win32_Directory
NTDOMAIN             Select * from Win32_NTDomain
Environment          Select * from Win32_Environment
VolumeQuotaSetting   Select * from Win32_VolumeQuotaSetting
QuotaSetting         Select * from Win32_QuotaSetting
IDECONTROLLER        Select * from Win32_IDEController
DiskDrive            Select * from Win32_DiskDrive
DataFile             Select * from CIM_DataFile
CDROM                Select * from Win32_CDROMDrive
QFE                  Select * from Win32_QuickFixEngineering
OnBoardDevice        Select * from Win32_OnBoardDevice
PrintJob             Select * from Win32_PrintJob
UPS                  Select * from Win32_UninterruptiblePowerSupply
CSProduct            Select * from Win32_ComputerSystemProduct
Server               Select * from Win32_PerfRawData_PerfNet_Server
Printer              Select * from Win32_Printer
IRQ                  Select * from Win32_IRQResource
Product              Select * from Win32_Product
PrinterConfig        Select * from Win32_PrinterConfiguration
Group                Select * from Win32_Group
DesktopMonitor       Select * from WIN32_DESKTOPMONITOR
OS                   Select * from Win32_OperatingSystem
Registry             Select * from Win32_Registry
NICConfig            Select * from Win32_NetworkAdapterConfiguration
MemLogical           Select * from Win32_LogicalMemoryConfiguration
NIC                  Select * from Win32_NetworkAdapter
C:\>

Diese Liste beinhaltet sämtliche verfügbaren Alias-Namen sowie die entsprechenden WMI-Abfragen, die entsprechend ausgeführt werden.

Damit Informationen abgefragt oder verändert oder Methoden aufgerufen werden können, muss WMIC zunächst Instanzen der entsprechenden Klasse finden. Dazu gibt man einfach WMIC zusammen mit dem Alias-Namen ein; z.B.:

C:\>WMIC UserAccount

Es besteht natürlich auch die Möglichkeit, WMIC zusammen mit dem WMI-Klassennamen einzusetzen. Dies immer dann notwendig, wenn kein Alis-Name zur Verfügung steht, da es lediglich für die wichtigsten WMI-Klassen Alias-Namen gibt.

  • Um mit WMIC Informationen abzufragen, benutzt man den GET-Befehl.
  • Um mit WMIC Informationen zu ändern, benutzt man den SET-Befehl.
  • Um mit WMIC Methoden aufzurufen, benutzt man den CALL-Befehl.