Not 规则
System Center Updates Publisher 中的**“Not 规则”设置可以针对任何规则启用。在评估 Not 规则时,将保留规则的逻辑结果。因此,通常,如果某个规则在禁用“Not 规则”设置的情况下会得出“TRUE”,则在启用该设置的情况下会得出“FALSE”**。“Not 规则”设置配置用于单个规则,不能应用于 Updates Publisher 中的规则组。
在表达式生成器中查看 Not 规则
当在表达式生成器中查看规则时,Not 规则会在规则描述的开头包含 NOT,从而使它们容易识别。在**“XML 视图”选项卡上,Not 规则会被“Not”逻辑运算符的 XML 标记括起来。例如,<lar:Not>{rule xml}</lar:Not>**。
Not 规则可能导致异常行为
在将某些规则变为 Not 规则时,其中包含的隐式规则可能会导致异常行为。例如,如果创建了一个“文件版本”规则,用于查找版本等于 1.20.30.4000 的 MyFile.dll 文件,则实际上是将两个规则用 AND 运算符组合成为一个规则。
第一个规则是 MyFile.dll 文件中存在的隐式规则。显式规则是文件版本为 1.20.30.4000。在该规则变为 Not 规则时,它将在以下条件下返回**“TRUE”**:
MyFile.dll 不存在。
MyFile.dll 版本不等于 1.20.30.4000。
如果该规则的目的是验证 MyFile.dll 的版本不是 1.20.30.4000,则有必要将文件版本规则与文件存在规则组合在一起。例如,表达式生成器看起来将类似于以下内容:
** ( File Exists Path="MyFile.dll"**
And NOT File Version Path="MyFile.dll"Comparison="Equal To"Version="1.20.30.4000" )