You can also check out my WMI codebank example, which mentions a mgmtclassgen.exe program you can use to create a wrapper class for whatever WMI class you are trying to use. This wrapper class should handle null values without a problem (not erroring out when you try to access a property that is null), as well as return enumerated values for properties that have them (instead of some number that you have to look up the meaning of). The WMI zip file is a library with the class already in it (as well has hundreds of others), if you wish to reference it, however its a rather large file when uncompressed, which you might feel is a little overkill if you wish to only use one class.