How to Create Rules in DCM?

Many people keep asking me about the rule creation in the DCM Solution! Hence I thought, may be if I can make this little secret public, it would be very much helpful to others! Here you go...

DCM Solution supports two kinds of rules:

  • Active Rules (We are talking about Active Rules in this POST)
  • Passive Rules

Its a pretty simple concept. :-) The heart of a rule is its Query Expression. When we say a rule is being evaluated, it basically means that the Query Expression is being evaluated. Now you already know that a DCM Rule logs out of compliances to the NT Event Log and the WMI Repository. But when does it do the logging? To make things clear, the DCM Solution does the logging whenever the Query Expression you create evaluates to true!

For example, lets say you are trying to check for a driver version. Lets say the driver version should ideally be "1.0.2" (this is the desired value). Now you would obviously like to be notified if the driver version is different than "1.0.2". Hence you should create a rule with its query expression as: Version != "1.0.2" . This ensures that if the actual value of the driver version is not 1.0.2, then the Query Expression you just created (Versiun != "1.0.2") would evaluate to true! Since the Query Expression evaluated to true, The DCM Engine would log the out of compliance to the NT Event Log and the WMI Repository. As simple as that.

Hence, the ground rule for creating a rule -> see to it that the query expression (you can create this by clicking the Build Rule Query button on the Rule Screen) is designed so that it evaluates to true in an unexpected scenario. Some thing like SettingValue != "desired value" .

Let me know if you have further questions in this regard!

Thanks!