WMIC: WMI command-line utility

Important

WMIC is deprecated as of Windows 10, version 21H1; and as of the 21H1 semi-annual channel release of Windows Server. This utility is superseded by Windows PowerShell for WMI; see Chapter 7 - Working with WMI. This deprecation applies only to the WMIC utility. Windows Management Instrumentation (WMI) itself is not affected. Also see Windows 10 features we're no longer developing.

The WMI command-line (WMIC) utility provides a command-line interface for Windows Management Instrumentation (WMI). WMIC is compatible with existing shells and utility commands. The following information is a general reference guide for WMIC. For more information and guidelines on how to use WMIC, including additional information on aliases, verbs, switches, and commands, see Using Windows Management Instrumentation command-line and WMIC - Take command-line control over WMI.

Alias

An alias is a friendly renaming of a class, property, or method that makes WMI easier to use and read. You can determine what aliases are available for WMIC through the /? command. You can also determine the aliases for a specific class using the <className> /? command. For more information, see WMIC aliases.

Switch

A switch is a WMIC option that you can set globally or optionally. For a list of available switches, see WMIC switches.

Verbs

To use verbs in WMIC, enter the alias name followed by the verb. If an alias doesn't support a verb, you receive the message "provider is not capable of the attempted operation." For more info, see WMIC verbs.

Most aliases support the following verbs:

ASSOC

Returns the result of the Associators of (<wmi_object>) query where <wmi_object> is the path of objects returned by the PATH or CLASS commands. The results are instances associated with the object. When ASSOC is used with an alias, the classes with the class underlying the alias are returned. By default, the output is returned in HTML format.

The ASSOC verb has the following switches:

Switch Description
/RESULTCLASS:<classname> Returned endpoints associated with the source object must belong to, or be derived from, the specified class.
/RESULTROLE:<rolename> Returned endpoints must play a specific role in associations with the source object.
/ASSOCCLASS:<assocclass> Returned endpoints must be associated with the source through the specified class, or one of its derived classes.

Example: os assoc

CALL

Executes a method.

Example: service where caption="telnet" call startservice

Note

To determine the methods available for a given class, use /?. For example, service where caption="telnet" call /? lists the available functions for the service class.

CREATE

Creates a new instance, and sets the property values. CREATE can't be used to create a new class.

Example: environment create name="temp"; variablevalue="new"

DELETE

Deletes the current instance or set of instances. DELETE can be used to delete a class.

Example: process where name="calc.exe" delete

GET

Retrieves specific property values.

GET has the following switches:

Switch Description
/VALUE Output is formatted with each value listed on a separate line and with the name of the property.
/ALL Output is formatted as a table.
/TRANSLATE:<translation table> Translates the output using the translation table named by the command. The translation tables BasicXml and NoComma are included with WMIC.
/EVERY:<interval> Repeats the command every <interval> seconds.
/FORMAT:<format specifier> Specifies a key word or XSL file name to format the data.

Example: process get name

LIST

Shows data. LIST is the default verb.

LIST has the following adverbs:

Adverb Description
BRIEF Core set of the properties
FULL Full set of properties. This is the default adverb for LIST
INSTANCE Instance paths only
STATUS Status of the objects
SYSTEM System properties

LIST has the following switches:

Switch Description
/TRANSLATE:<translation table> Translate the output using the translation table named by the command. The translation tables BasicXml and NoComma are included with WMIC.
/EVERY:<interval> Repeat the command every <interval> seconds.
/FORMAT:<format specifier> Specifies a key word or XSL file name to format the data.

Example: process list brief

SET

Assigns values to properties.

Example: environment set name="temp", variablevalue="new"

Switches

Global switches are used to set defaults for the WMIC environment. You can view the current value of the conditions set by these switches by entering the CONTEXT command.

/NAMESPACE

Namespace that the alias uses typically. The default is root\cimv2.

Example: /namespace:\\root

/ROLE

Namespace that WMIC typically looks in for aliases and other WMIC information.

Example: /role:\\root

/NODE

Computer names, comma delimited. All commands are synchronously executed against all computers listed in this value. File names must be prefixed with &. Computer names within a file must be comma delimited or on separate lines.

/IMPLEVEL

Impersonation level.

Example: /implevel:Anonymous

/AUTHLEVEL

Authentication level.

Example: /authlevel:Pkt

/LOCALE

Locale.

Example: /locale:ms_411

/PRIVILEGES

Enables or disables all privileges.

Example: /privileges:enable or /privileges:disable

/TRACE

Displays the success or failure of all functions used to execute WMIC commands.

Example: /trace:on or /trace:off

/RECORD

Records all output to an XML file. Output is also displayed at the command prompt.

Example: /record:MyOutput.xml

/INTERACTIVE

Typically, delete commands are confirmed.

Example: /interactive:on or /interactive:off

/FAILFAST on|off|TimeoutInMilliseconds

If ON, the /NODE computers are pinged before sending WMIC commands to them. If a computer doesn't respond, then the WMIC commands aren't sent to it.

Example: /failfast:on or /failfast:off

/USER

User name used by WMIC when accessing the /NODE computers or computers specified in the aliases. You're prompted for the password. A user name can't be used with the local computer.

Example: /user:JSMITH

/PASSWORD

Password used by WMIC when accessing the /NODE computers. The password is visible at the command line.

Example: /password:password

/OUTPUT

Specifies a mode for all output redirection. Output doesn't appear at the command line and the destination is cleared before output begins. Valid values are STDOUT, CLIPBOARD, or a file name.

Example: /output:clipboard

/APPEND

Specifies a mode for all output redirection. Output doesn't appear at the command line and the destination is not cleared before output begins and output is appended to the end of the current contents of the destination. Valid values are STDOUT, CLIPBOARD, or a file name.

Example: /append:clipboard

/AGGREGATE

Used with the LIST and GET /EVERY switch. If AGGREGATE is ON, LIST and GET display their results when all computers in the /NODE have either responded or timed out. If AGGREGATE is OFF, LIST and GET display their results as soon as they are received.

Example: /aggregate:off or /aggregate:on

Commands

The following WMIC commands are available at all times. For more information, see WMIC commands.

CLASS

Escapes from the default alias mode of WMIC to access classes in the WMI schema directly. For more information on available WMI classes, see WMI classes.

Example: wmic /output:c:\ClassOutput.htm class Win32_SoundDevice

PATH

Escapes from the default alias mode of WMIC to access instances in the WMI schema directly.

Example: wmic /output:c:\PathOutput.txt path Win32_SoundDevice get /value

CONTEXT

Displays the current values of all global switches.

Example: wmic context

QUIT

Exits from WMIC.

Example: wmic quit

EXIT

Exits from WMIC.

Example: wmic exit

Requirements

Requirement Value
Minimum supported client Windows Vista
Minimum supported server Windows Server 2008