CDXML modules
One of the drawbacks of using the WMI or CIM cmdlets is that you don't get to use parameters that are specific to the properties of the WMI class you are dealing with. For instance, when we looked at the Win32_LogicalDisk
instances, it would have been really nice to have parameters such as DriveType
or Name
to easily filter the output without having to use a WQL filter statement. In PowerShell 3.0, the concept of a CDXML module was introduced. CDXML modules allow you to create an XML description of the cmdlets and the associated parameters dealing with a WMI class, and the PowerShell engine creates the cmdlets for you when you import the module.
The CDXML modules have two main advantages, as follows:
The module is XML, so no coding is necessary.
End users get to use parameters that are specific to the type of object rather than a generic
–Filter
parameter
In PowerShell 4.0, the majority of modules on a server will be CDXML modules, because they are easy to write.