我正在使用 SCOM 2019,并尝试编写一条新规则,该规则是基于探测的脚本(性能),其中包含返回属性包的 vbscript。该规则已分配给正在运行 SCOM 代理的对象,并且我已经在目标上本地测试了该脚本。
我的挑战是我无法让规则在目标上本地运行,证据是脚本记录到 SCOM 管理服务器的事件日志中。此外,当我编辑管理包 xml 并使用 Remotable="false" 设置规则时,我会在 SCOM 管理服务器上收到以下事件日志:
为 ID 为“{id}”的远程实例“{instance}”运行的规则/监视器“{ruleid}”将被禁用,因为它不可远程控制。管理组“{mg}”。
我是否遗漏了一些东西来让规则在目标上本地运行?
编辑:目标是组,我想我开始明白脚本将参考组而不是组成组的元素运行。如果是这种情况,我是否需要以某种方式创建一个以 Microsoft.Windows.Computer 为基础的类(而不是组)?
答案1
证实了我的怀疑,当以某个组为目标时,脚本会引用该组而不是该组的元素运行。解决方案是创建一个类,其中填充所需的目标,然后将规则定位到该组。
这里有很多精彩的片段展示了如何创建类(类和发现): https://github.com/thekevinholman/FragmentLibrary