通过MP作者

时间:2018-11-25 17:30:03

标签: xml scom

我已经使用Silect MP Author创建了一个基于Powershell脚本的监视器,这样我就可以安排它们的运行时间(例如,每天–周日–周四)。 问题是 我还需要可用性来调整间隔时间(例如,每30秒)。 并且由于某些原因,这不是在MP作者向导中结合使用的有效选项。 您只能从以下3个选项中进行选择: 1.无 2.每日 3.定期 如果选择了“每日”选项,有人知道间隔时间是多少吗? 此外, 在检查MP作者创建的XML文件时, 我可以看到,在选择“每日”选项时,已创建以下元素:

    </Configuration>
  <OverrideableParameters>
    <OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int" />
    <OverrideableParameter ID="DaysOfWeekMask" Selector="$Config/DaysOfWeekMask$" ParameterType="int" />
    <OverrideableParameter ID="StartTime" Selector="$Config/StartTime$" ParameterType="string" />
    <OverrideableParameter ID="EndTime" Selector="$Config/EndTime$" ParameterType="string" />
  </OverrideableParameters>
  <ModuleImplementation Isolation="Any">
    <Composite>
      <MemberModules>
        <DataSource ID="Scheduler" TypeID="System!System.Scheduler">
          <Scheduler>
            <WeeklySchedule>
              <Windows>
                <Daily>
                  <Start>$Config/StartTime$</Start>
                  <End>$Config/EndTime$</End>
                  <DaysOfWeekMask>$Config/DaysOfWeekMask$</DaysOfWeekMask>
                </Daily>
              </Windows>
            </WeeklySchedule>
            <ExcludeDates />
          </Scheduler>
        </DataSource>

我可以只添加新元素(对于和标记):

<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:integer" name="IntervalSeconds" />
    <xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" type="xsd:integer" name="DaysOfWeekMask" />

<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />

在IntervalSeconds值的标记中还有新行吗?:

作为硬编码值

<OverrideableParameter ID="IntervalSeconds" Selector="$Config/IntervalSeconds$" ParameterType="int" />

还是作为Varibel?

<SimpleReccuringSchedule>
              <Interval Unit="Seconds">$Config/IntervalSeconds$</Interval>
            </SimpleReccuringSchedule>

1 个答案:

答案 0 :(得分:0)

根据MS文档PublicSchedulerType,在您的方案中没有可配置的参数来设置间隔。根据架构定义,SimpleReccuringScheduleWeeklySchedule互斥。最重要的是,MS没有提供示例,其中Start和End参数不同,他们建议将其用于一次射击。

您当然可以添加一个新参数并将其设置为可覆盖,但是您无处使用它,因此不会有任何区别。

要解决此问题,您可以:

  1. 使用SimpleReccuringSchedule计划或SimpleScheduler作为基础。在此处配置您的时间间隔。
  2. 向您的数据源添加System.SchedulerFilter条件检测模块,以仅允许基本调度程序在已配置的窗口中。