Below are some notes on the WMI Wizard that answer some common questions.
Sample Data
If the value is blank, no value is displayed for Sample Data. If the value is an array, -Array- is displayed for Sample Data. While data is being collected three periods are displayed ( . . . )
The speed with which sample data is retrieved will differ between systems and will depend greatly upon what classes you are working with. For example, user classes are typically slower to return information than hardware classes. As this is a WMI issue, the same delays will occur when executing your own scripts. The good news here is that the retrieval of sample data may be easily interrupted by selecting another property.
Conditions
If you do not enter a complete statement (if any of the three items is blank) conditional statements will not be represented in the generated code. If multiple conditions are specified, such conditions will only be included up until a missing or incomplete condition has been specified.
Tip: Either run a generated script displaying property values, or for a quick look - use the Sample View feature to determine valid values you may use in your conditions.
Moniker Strings
Normally changes from the default moniker string are made to specify the security-settings component (which lets you specify several different security settings for the WMI connection).
Impersonation Level : "winmgmts:{impersonationLevel=Value}"
Authentication Level : "winmgmts:{authenticationLevel=Value}"
Authenticating Authority : "winmgmts:{authority=ntlmdomain:DomainName}" or "winmgmts:{authority=kerberos:DomainName\ServerName}"
Privileges to grant or deny : "winmgmts:{(Security,!RemoteShutdown)}"
WMI uses DCOM to access WMI data on remote computers. Impersonation dictates the degree to which your script allows a remote WMI service carry out tasks for you. DCOM supports four levels of impersonation: Anonymous, Identify, Impersonate, and Delegate.
Anonymous impersonation hides your credentials, and the Identify value permits a remote object to query your credentials; neither level allows the remote object to impersonate your security context. The Impersonate value lets the remote WMI service use the security context of the user executing the script in order to perform the requested operation. A remote WMI request that uses the Impersonate setting generally succeeds if your credentials have adequate privileges to perform the operation. Finally, the Delegate value instructs the remote WMI service to pass your credentials to other objects (which is generally considered a security risk). For more on moniker strings see Microsoft's MSDN article, Constructing A Moniker String.
Note: object names are not case sensitive