Dell Registry Discovery
Dell.Registry.Discovery.DSMT (DataSourceModuleType)
The discovery module sets the prinicipal name of the MS in the registry
Element properties:
Member Modules:
Overrideable Parameters:
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 © 2009– 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 & 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>