Please have a look & vote for my RFE at http://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=63875
This is to add several enhancements to Registry Key Inspectors:
- registry key “string”
- native registry key “string”
- registry value “string”
- native registry value “string”
Why? To enable much easier searches across multiple keys/values in a single statement. Suppose a configuration requires HKLM\Software\ProductA\Key1=1, HKLM\Software\ProductB\Key2=2, and HKLM\Software\ProductC\Key3=3. Current syntax to check this requires
(not exists (key “HKLM\Software\ProductA” of registry) whose (exists (value “Key1” of it) whose (it=1))) OR (not exists (key “HKLM\Software\ProductB” of registry) whose (exists (value “Key2” of it) whose (it=2))) OR (not exists (key “HKLM\Software\ProductC” of registry) whose (exists (value “Key3” of it) whose (it=3)))
This is difficult to read and does not scale well. With the new inspectors we could treat this much more like file searches, and use a syntax like
exists ((“HKLM\Software\ProductA\Key1”,1);(“HKLM\Software\ProductB\Key2”,2);(“HKLM\Software\ProductC\Key3”,3)) whose (not exists registry value (item 0 of it) OR registry value (item 0 of it) != item 1 of it)
The new syntax allows much easier scaling, modification, and reusability. The current syntax always requires “of registry” which breaks any other use of “it” substitutions.