Initiate Enterprise Agent Discovery

AVIcode.DotNet.SystemCenter.InitiateEnterpriseAgentDiscovery (WriteActionModuleType)

Knowledge Base article:

Summary

This rule initialize AVIcode .Net Enterprise.Agent discovery

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityPublic
RunAsDefault
InputTypeSystem.BaseData
OutputTypeSystem.BaseData

Member Modules:

ID Module Type TypeId RunAs 
InitiateEnterpriseAgentDiscoveryWA WriteAction Microsoft.Windows.ScriptWriteAction Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
TimeoutSecondsint$Config/TimeoutSeconds$Timeout in secondsModule execution timeout (measured in seconds).

Source Code:

<WriteActionModuleType ID="AVIcode.DotNet.SystemCenter.InitiateEnterpriseAgentDiscovery" Accessibility="Public" Batching="false">
<Configuration>
<xsd:element name="TimeoutSeconds" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="TimeoutSeconds" Selector="$Config/TimeoutSeconds$" ParameterType="int"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<WriteAction ID="InitiateEnterpriseAgentDiscoveryWA" TypeID="Windows!Microsoft.Windows.ScriptWriteAction">
<ScriptName>InitiateEnterpriseAgentDiscovery.vbs</ScriptName>
<Arguments/>
<ScriptBody><Script>
Option Explicit
On Error Resume Next

SetLocale("en-us")
HandleErrorContinue("Cannot set en-us locale")

Dim message : message = "The Enterprise .NET Monitoring Agent check has been started."
Dim oAPI : Set oAPI = CreateObject("MOM.ScriptAPI")
Call oAPI.LogScriptEvent("AVIcode .NET Enterprise Management Pack for OpsMgr 2007", 19994, 0, message)
Wscript.Quit 0


Sub HandleError(customMessage)
If Not (Err.number = 0) Then
LogError customMessage
Wscript.Quit 0
End If
End Sub

Function HandleErrorContinue(customMessage)
HandleErrorContinue = False
If Not (Err.number = 0) Then
LogError customMessage
Err.Clear
HandleErrorContinue = True
End If
End Function

Sub LogError(customMessage)
Dim msg
If Not (Err.number = 0) Then
msg = Replace(" Error: #P1# Description: #P2# ", "#P1#", CStr(Err.number) )
msg = Replace(msg, "#P2#", Err.Description )
msg = customMessage &amp; VbCrLf &amp; msg &amp; VbCrLf
If UCase(Hex(Err.number)) = UCase("80041006") Then
msg = msg &amp; "WMI Error. Not enough memory for the operation." &amp; VbCrLf
End If
WScript.StdOut.WriteLine msg
msg = msg &amp; " [" &amp; ScriptInfo() &amp; "]"
LogEvent msg, 1
End If
End Sub

Function ScriptInfo()
Dim commandLineInfo : commandLineInfo = WScript.ScriptFullName
Dim argument
For Each argument In WScript.Arguments
commandLineInfo = commandLineInfo &amp; " """ &amp; argument &amp; """"
Next
ScriptInfo = commandLineInfo
End Function

Sub LogEvent (message, eventType)
Dim errorEventId : errorEventId = 20000
Dim oAPI0 : Set oAPI0 = CreateObject("MOM.ScriptAPI")
Call oAPI0.LogScriptEvent("AVIcode .NET Enterprise Management Pack for OpsMgr 2007", errorEventId, eventType, message)
End Sub
</Script></ScriptBody>
<TimeoutSeconds>$Config/TimeoutSeconds$</TimeoutSeconds>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="InitiateEnterpriseAgentDiscoveryWA"/>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.BaseData</OutputType>
<InputType>System!System.BaseData</InputType>
</WriteActionModuleType>