In the current version of the DCM Solution, when a Setting is not found, all the rules under that Setting are ignored. Let us take a scenario. Let’s say you are creating a rule to check the anti virus version. So you would create a data source, setting and a rule to validate the version of the Anti Virus. Now what if the Anti Virus is not installed at all! What would you expect? What would the DCM Solution do?
Since you are checking for compliance of the value of a Setting, you would expect to be alerted when the Setting is not found at all! But the DCM Solution does not alert you if the Setting is not found. It ignores all the rules you created under the Setting if the Setting is not found. Hence your rules are never evaluated when the Setting does not exist.
So, you should perform two checks, one for the existence of the Setting and the other to check for the compliance of its value. Having said this, how would you check for the existence of a Setting? The DCM Solution has a function called Exists which can help you check for the existence of a hot fix / service pack in the WMI. However, there is no direct way to check for the existence of other Settings / from other data source in the DCM Solution.
There is a work-around which can help you do that! Watch out for my next posts where I would show how to check for the existence of Settings in the Registry, WMI, File System, etc…