I writing a relevance of fixlet to check that if either of the HotFixID “KB2849697” "KB2849696"
“KB2841134” not exist then relevance will return “True”. Following relevance can do achieve my objective, but processing time take too long, I’m considering is there other effective way can achieve my objective…anyone can help? thank you
Relevance:
conjunction of (not exists(string value of property “HotFixID” of it) whose (it =“KB2849697”) of select objects “HotFixID from Win32_QuickFixEngineering” of WMI OR not exists(string value of property “HotFixID” of it) whose (it = “KB2849696”) of select objects “HotFixID from Win32_QuickFixEngineering” of WMI OR not exists(string value of property “HotFixID” of it) whose (it = “KB2841134”) of select objects “HotFixID from Win32_QuickFixEngineering”)
While WMI is usually going to be fairly slow, I believe your issue is that you are running the “select objects” query multiple times. That being said you should be able to use the registry instead as shown in this forum post:
For example, this may work for you:
set of (elements whose (it contains "KB" AND it does not contain "_") of ((set of ((substrings before "~" of substrings after "for_" of names of keys whose (name of it contains "for_") of keys "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages" of native registry) as uppercase)))) does not contain set of ("KB2849697"; "KB2849696"; "KB2841134")