Dell Registry Discovery

Dell.Registry.Discovery.DSMT (DataSourceModuleType)

The discovery module sets the prinicipal name of the MS in the registry

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
OutputTypeSystem.Discovery.Data

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource System.Discovery.Scheduler Default
P1 ProbeAction Microsoft.Windows.ScriptDiscoveryProbe Default

Overrideable Parameters:

IDParameterTypeSelectorDisplay NameDescription
Intervalstring$Config/Interval$IntervalDell Management Server Registry Discovery Interval seconds

Source Code:

<DataSourceModuleType ID="Dell.Registry.Discovery.DSMT" Accessibility="Internal" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.Discovery.MapperSchema</SchemaType>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element minOccurs="1" name="Interval" type="xsd:integer"/>
<xsd:element minOccurs="1" maxOccurs="1" name="ManagementServerPrincipalName" type="xsd:string"/>
<xsd:element minOccurs="1" maxOccurs="1" name="ManagementServerIPAddress" type="xsd:string"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="string"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="DS" TypeID="System!System.Discovery.Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Seconds">$Config/Interval$</Interval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
</DataSource>
<ProbeAction ID="P1" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
<ScriptName>Registry_Discovery.vbs</ScriptName>
<Arguments>$MPElement$ $Target/Id$ $Config/ManagementServerPrincipalName$ $Config/ManagementServerIPAddress$</Arguments>
<ScriptBody><Script>
'**********************************************************************************
' Script Name - Registry_Discovery
' Author: Thomas Jacob
'
' Description:
' * Creates Registry_Discovery object
' * Adds PrincipalName (HealthService key property) in Registry
'
' (c) Copyright &#xA9; 2009&#x2013; 2017 Dell Inc, or its subsidiaries. All Rights Reserved
'**********************************************************************************

Option Explicit
On Error Resume Next
SetLocale("en-us")
Dim oArgs
Set oArgs = WScript.Arguments

Dim SourceId, ManagedEntityId
Dim oAPI, oDiscoveryData, oInstance

Dim dml, eql, sPrincipalName, sIPAddress

SourceId = oArgs(0)
ManagedEntityId = oArgs(1)
sPrincipalName = oArgs(2)
sIPAddress = ""

Dim nCount, nIndex
nCount = WScript.Arguments.Count

For nIndex= 3 to (nCount -1)
sIPAddress = sIPAddress &amp; oArgs(nIndex)
Next

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



Dim oReg
Set oReg = CreateObject("WScript.Shell")
Call oReg.RegWrite("HKEY_LOCAL_MACHINE\Software\Dell Computer Corporation\Dell Management Pack Suites\MSHostname", sPrincipalName )
Call oReg.RegWrite("HKEY_LOCAL_MACHINE\Software\Dell Computer Corporation\Dell Management Pack Suites\MSIPAddress", sIPAddress )

Set oInstance = oDiscoveryData.CreateClassInstance("$MPElement[Name='Dell.Discovery.Sink']$")
call oInstance.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Dell Discovery Sink")
call oInstance.AddProperty("$MPElement[Name='Dell.Discovery.Sink']/Name$", sPrincipalName)
oDiscoveryData.AddInstance oInstance

Call oAPI.Return(oDiscoveryData)
Set oDiscoveryData = Nothing
Set oAPI = Nothing
</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="P1">
<Node ID="DS"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>