Antigen Service Discovery

Antigen_Service_Discovery (WriteActionModuleType)

Element properties:

TypeWriteActionModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
InputTypeSystem.BaseData
Comment{41142262-0178-4E89-ABCF-44A8FFCD4968}

Member Modules:

ID Module Type TypeId RunAs 
RunScriptAction WriteAction System.Mom.BackwardCompatibility.ScriptResponse Default

Source Code:

<WriteActionModuleType ID="Antigen_Service_Discovery" Accessibility="Internal" Comment="{41142262-0178-4E89-ABCF-44A8FFCD4968}">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>MomBackwardCompatibility!System.Mom.BackwardCompatibility.AlertGenerationSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="AlertGeneration" type="AlertGenerationType"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="InvokerType" type="xsd:integer"/>
</Configuration>
<ModuleImplementation>
<Composite>
<MemberModules>
<WriteAction ID="RunScriptAction" TypeID="MomBackwardCompatibility!System.Mom.BackwardCompatibility.ScriptResponse">
<AlertGeneration>$Config/AlertGeneration$</AlertGeneration>
<InvokerType>$Config/InvokerType$</InvokerType>
<Body><Script>

'*******************************************************************************************
'*
'* File Name:
'* ---------
'* AntigenServiceDiscovery.vbs
'* $Revision: 3 $
'*
'* Purpose:
'* --------
'* Disovers attributes of Antigen servers (Service Discovery)
'*
'* Parameters:
'* -----------
'* None
'*
'*******************************************************************************************


const HKEY_LOCAL_MACHINE = &amp;H80000002
Dim m_strProduct

Sub Main()

Dim oDiscData
Dim oCollection
Dim oInstance
Dim WshShell
Dim strTempProductPath

Set oDiscData = ScriptContext.CreateDiscoveryData
Set oCollection = oDiscData.CreateCollection

ScriptContext.Echo "[Trace]: Sybari Service Discovery started."

With oCollection
.AddScopeFilter "ComputerName", ScriptContext.TargetComputerIdentity
.ClassID = "Antigen Server"
.AddScopeComponent "Services"
End With

Set oInstance = oCollection.CreateInstance

If AntigenInstalled Then
With oInstance
.AddKeyProperty "Server Name", ScriptContext.TargetNetbiosComputer
.AddComponent "Services"
End With
Else
ScriptContext.Echo "[Trace]: No Sybari products found."
End If

oCollection.AddInstance oInstance
oDiscData.AddCollection oCollection

ScriptContext.Submit oDiscData

ScriptContext.Echo "[Trace]: Antigen Service Discovery script complete."

Set oDiscData = Nothing
Set oCollection = Nothing
Set oInstance = Nothing

End Sub


Function AntigenInstalled()
Dim arrProducts(1)

arrProducts(0) = "Antigen for SMTP"
arrProducts(1) = "Antigen for Exchange"

bFound = false

arrSubKeys = EnumRegKeys("SOFTWARE\Sybari Software")

If IsArray(arrSubKeys) Then
For Each product in arrProducts
For Each subkey In arrSubKeys
If subkey = product Then
bFound = true
m_strProduct = product
ScriptContext.Echo "[Trace]: " &amp; product &amp; " found."
End If
Next
Next
Else
ScriptContext.Echo "[Error]: Unable to enumerate HKLM\Software\Sybari Software."
End If

AntigenInstalled = bFound
End Function


Function EnumRegKeys(ByVal strKeyPath)
Dim arrKeys()

Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
lResult = objReg.EnumKey(HKEY_LOCAL_MACHINE, strKeyPath, arrKeys)

Set objReg = Nothing

EnumRegKeys = arrKeys
End Function
</Script></Body>
<Language>VBScript</Language>
<Name>Antigen Service Discovery</Name>
<Parameters/>
<ManagementPackId>[Microsoft.Antigen.v9,,1.0.0.1]</ManagementPackId>
</WriteAction>
</MemberModules>
<Composition>
<Node ID="RunScriptAction"/>
</Composition>
</Composite>
</ModuleImplementation>
<InputType>SystemLibrary!System.BaseData</InputType>
</WriteActionModuleType>