Getting object instances through querying and filtering
This topic provides an overview of how to retrieve the instances of a class from a CIM server.
In this scenario, a cmdlet retrieves zero, one, or many instances of a class. There are several ways to retrieve class instances from a CIM server.
- GetInstance
- QueryInstances
- EnumerateInstances
- EnumerateAssociatedInstances
Currently CDXML does not support GetInstance for retrieving a particular instance. Server filtering can be done through QueryInstances; however, CDXML supports WQL queries only.
A GET cmdlet definition based on Enumerate and Query requires the following information.
Metadata that describes the cmdlet properties.
- Verb
- Noun
- HelpURI
Cmdlet parameters for filtering the results.
- Cmdlet parameter Name and Type
- Cmdlet parameter attributes (Mandatory, ValueFromPipeline, Position, and so on)
- CIM class property used for filtering
- Type of filter query expressions to be formed. For example, RegularQuery or MinQuery
For each parameter, the form of its query expression can be further specialized into one of the following types:
- RegularQuery - Compares an instance property value with the corresponding cmdlet argument using either the equal or like operator.
- MinQuery - Compares an instance property value with the corresponding cmdlet argument value using the less than or equal operator.
- MaxQuery - Compares an instance property value with the corresponding cmdlet argument value using the greater than or equal operator.
- ExcludeQuery - Compares an instance property value with the corresponding cmdlet argument value and filters out instances that match.
The information above applies to the GET cmdlet when working with instance providers; that is, a CIM provider that returns instances through QueryInstance or EnumerateInstances intrinsic operations.
The following CDXML elements are used to describe the information outlined above.
Cmdlet Metadata : <Cmdlet> and <CmdletMetadata>
Cmdlet Filterting Parameters : <GetCmdletParameters>