两个状态脚本监视器在SCOM 2012 R2中不起作用

时间:2016-04-06 12:57:20

标签: scom

尝试在SCOM 2012 R2中设置一个简单的双状态脚本监视器,以检查服务器上是否存在特定文件。我的代码如下:

$API = new-object -comObject ‘MOM.ScriptAPI’

$Bag = $API.CreatePropertyBag()

$Exists = Test-Path ‘c:\temp\testfile.txt’

if ($Exists)
{
    $Bag.addValue(‘State,’YES’)
}
else
{
    $Bag.addvalue(‘State’,’NO’)
}

$Bag

如果我创建监视器并为给定服务器启用它,它会注册并具有初始健康状态。如果返回的结果为“是”,则状态应更改为运行状况不佳。但是,如果我创建测试文件,监视器永远不会更改状态。它的目标是Windows 2008 R2服务器,并设置为每隔5分钟运行一次。如果我在服务器上的PS窗口中手动执行命令,它将返回适当的数据。我用来将结果返回监视器的参数是:

Property[@Name=’State’] equals YES (unhealthy)
or                             NO (healthy)

我知道我错过了一些愚蠢的东西..这台显示器并不多见。有什么想法吗?

TIA。

1 个答案:

答案 0 :(得分:0)

尝试在条件检测中指定数据类型,例如

          <Expression>
            <SimpleExpression>
              <ValueExpression>
                <XPathQuery Type="String">Property[@Name="State"]</XPathQuery>
              </ValueExpression>
              <Operator>Equal</Operator>
              <ValueExpression>
                <Value Type="String">YES</Value>
              </ValueExpression>
            </SimpleExpression>
          </Expression>