SCOM 2012 Maintenance Mode Scheduler Event Collector Discovery

SCOM2012.Maintenance.Mode.Scheduler.Monitoring.EventCollector.Discovery (Discovery)

Discovery for the unhosted class SCOM 2012 Maintenance Mode Scheduler Event Collector

Element properties:

TargetSCOM2012.Maintenance.Mode.Scheduler.Monitoring.ComputerRole
EnabledTrue
Frequency86400
RemotableFalse

Object Discovery Details:

Discovered Classes and their attribuets:

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.TimedScript.DiscoveryProvider Default

Source Code:

<Discovery ID="SCOM2012.Maintenance.Mode.Scheduler.Monitoring.EventCollector.Discovery" Enabled="true" Target="SCOM2012.Maintenance.Mode.Scheduler.Monitoring.ComputerRole" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="SCOM2012.Maintenance.Mode.Scheduler.Monitoring.EventCollector"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.TimedScript.DiscoveryProvider">
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<ScriptName>EventCollectorDiscovery.vbs</ScriptName>
<Arguments>$MPElement$ $Target/Id$ $Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Arguments>
<ScriptBody><Script>'==========================================================================================
' AUTHOR: Tao Yang
' Script Name: EventCollectorDiscovery.vbs
' DATE: 20/05/2014
' Version: 1.0
' COMMENT: Script to discover SCOM 2012 Maintenance Mode Scheduler Event Collector
'==========================================================================================

SourceId = WScript.Arguments(0)
ManagedEntityId = WScript.Arguments(1)
sComputerName = WScript.Arguments(2)

Set oAPI = CreateObject("MOM.ScriptAPI")
Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId)

Set oMMSchedulerEventCollector = oDiscoveryData.CreateClassInstance("$MPElement[Name='SCOM2012.Maintenance.Mode.Scheduler.Monitoring.EventCollector']$")
oMMSchedulerEventCollector.AddProperty "$MPElement[Name='SCOM2012.Maintenance.Mode.Scheduler.Monitoring.EventCollector']/CollectorName$", sComputerName
oDiscoveryData.AddInstance(oMMSchedulerEventCollector)

'Create an instance of the health service class.
Set oHealthServiceInstance = oDiscoveryData.CreateClassInstance("$MPElement[Name='SC!Microsoft.SystemCenter.HealthService']$")
oHealthServiceInstance.AddProperty "$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", sComputerName
oDiscoveryData.AddInstance oHealthServiceInstance

'Create the relationship and add to the discovery data.
set oShouldManageInstance = oDiscoveryData.CreateRelationshipInstance("$MPElement[Name='SC!Microsoft.SystemCenter.HealthServiceShouldManageEntity']$")
oShouldManageInstance.Source = oHealthServiceInstance
oShouldManageInstance.Target = oMMSchedulerEventCollector
oDiscoveryData.AddInstance oShouldManageInstance

'Return the discovery data.
oAPI.Return(oDiscoveryData)
</Script></ScriptBody>
<TimeoutSeconds>60</TimeoutSeconds>
</DataSource>
</Discovery>