Huawei.ISM.Management.Pack.huawei.DataSource.Discovery.host.OID (DataSourceModuleType)

Element properties:

TypeDataSourceModuleType
IsolationAny
AccessibilityInternal
RunAsDefault
OutputTypeSystem.Discovery.Data

Member Modules:

ID Module Type TypeId RunAs 
snmpProbe DataSource System.NetworkManagement.SnmpDataSource Default
ScriptDiscovery ProbeAction Microsoft.Windows.ScriptDiscoveryProbe Default

Overrideable Parameters:

IDParameterTypeSelector
Intervalint$Config/Interval$
LogLevelint$Config/LogLevel$

Source Code:

<DataSourceModuleType ID="Huawei.ISM.Management.Pack.huawei.DataSource.Discovery.host.OID" Accessibility="Internal" Batching="false">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>System!System.Discovery.MapperSchema</SchemaType>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
<SchemaType>System!System.ParamListSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="Interval" type="xsd:integer"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="IPAddress" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="CommStr" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="Index" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="Version" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" minOccurs="1" name="LogLevel" type="xsd:integer"/>
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Interval" Selector="$Config/Interval$" ParameterType="int"/>
<OverrideableParameter ID="LogLevel" Selector="$Config/LogLevel$" ParameterType="int"/>
</OverrideableParameters>
<ModuleImplementation Isolation="Any">
<Composite>
<MemberModules>
<DataSource ID="snmpProbe" TypeID="SNL!System.NetworkManagement.SnmpDataSource">
<Scheduler>
<SimpleReccuringSchedule>
<Interval>$Config/Interval$</Interval>
</SimpleReccuringSchedule>
<ExcludeDates/>
</Scheduler>
<Timeout>60000</Timeout>
<SNMPv3UserName>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/UserName$</SNMPv3UserName>
<SNMPv3AuthProtocol>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/AuthenticationProtocol$</SNMPv3AuthProtocol>
<SNMPv3AuthPassword>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/AuthenticationKey$</SNMPv3AuthPassword>
<SNMPv3PrivProtocol>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/PrivacyProtocol$</SNMPv3PrivProtocol>
<SNMPv3PrivPassword>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/PrivacyKey$</SNMPv3PrivPassword>
<SNMPv3ContextName>$RunAs[Name="SNL!System.NetworkManagement.SnmpV3.MonitoringAccount"]/ContextName$</SNMPv3ContextName>
<IP>$Config/IPAddress$</IP>
<CommunityString>$Config/CommStr$</CommunityString>
<Version>$Config/Version$</Version>
<SnmpVarBinds>
<SnmpVarBind>
<OID>$Config/Index$</OID>
<Syntax>0</Syntax>
<Value VariantType="8"/>
</SnmpVarBind>
</SnmpVarBinds>
</DataSource>
<ProbeAction ID="ScriptDiscovery" TypeID="Windows!Microsoft.Windows.ScriptDiscoveryProbe">
<ScriptName>DiscoverhostOID.vbs</ScriptName>
<Arguments>$MPElement$ $Target/Id$ $Target/Host/Property[Type="SNL!System.NetworkManagement.Node"]/DeviceKey$ "$Data/SnmpVarBinds/SnmpVarBind[1]/Value$" "$Data/SnmpVarBinds/SnmpVarBind[1]/OID$"</Arguments>
<ScriptBody><Script>

'**********************************************************************************
' Script Name - Huawei host OID Discovery
' Author: Muralidhar L, Vignesh Pandian
'
' Description:
' Discovery of Huawei host and all it's attributes.
'
' (c) Copyright Huawei Inc. 2013-2015. All rights reserved
'**********************************************************************************
Option Explicit
SetLocale("en-us")

Dim oAPI, oDiscoveryData, oInst
Set oAPI = CreateObject("MOM.ScriptAPI")

Dim oArgs
set oArgs = wscript.arguments

If oArgs.Count &gt; 5 Then
Call oAPI.LogScriptEvent("DiscoverhostOID.vbs",101,0, _
"script was called with fewer than three arguments and was not executed.")
Wscript.Quit -1
End If

' &#x53D6;&#x5F97;&#x5165;&#x53C2;
Dim SourceID, ManagedEntityID, deviceKey, hostId, hostIndex
SourceID = oArgs(0)
ManagedEntityID = oArgs(1)
deviceKey = oArgs(2)
hostId = oArgs(3)
hostIndex = oArgs(4)
' &#x53BB;&#x6389;&#x5B57;&#x7B26;&#x4E32;&#x4E24;&#x8FB9;&#x7A7A;&#x683C;
hostId = TRIM(hostId)
hostIndex = TRIM(hostIndex)

' &#x6784;&#x9020;&#x88AB;&#x53D1;&#x73B0;&#x6570;&#x636E;&#x5BF9;&#x8C61;&#xFF0C;&#x540E;&#x9762;&#x4F1A;&#x5728;&#x91CC;&#x9762;&#x653E;&#x53C2;&#x6570;
Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceID, ManagedEntityID)
Dim oFSo
Set oFso = CreateObject("Scripting.FileSystemObject")
Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Host']$")
Call oInst.AddProperty ("$MPElement[Name='SNL!System.NetworkManagement.Node']/DeviceKey$", deviceKey)
Call oInst.AddProperty ("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Host']/id$", hostId)
Call oInst.AddProperty("$MPElement[Name='Huawei.ISM.Management.Pack.huawei.Class.Host']/oidIndex$", GetIndex(hostIndex))
Call oDiscoveryData.AddInstance(oInst)

public Function GetIndex(oid)
Dim p1, str1, str2
' &#x5728;&#x5B57;&#x7B26;&#x4E32;&#x4E2D;&#x5220;&#x9664;&#x5B50;&#x4E32;
str1 = oid
str2 = ".1.3.6.1.4.1.34774.4.1.23.4.5.1.1."
' &#x5148;&#x627E;&#x51FA;&#x5B57;&#x4E32;&#x7684;&#x8D77;&#x59CB;&#x4F4D;&#x7F6E;
p1=instr(str1,str2)
' &#x7136;&#x540E;&#x53D6;&#x5B83;&#x524D;&#x9762;&#x7684;&#x548C;&#x540E;&#x9762;&#x7684;&#x5373;&#x53EF;
str1=left(str1,p1-1) &amp; mid(str1,p1+len(str2))
GetIndex = str1
End Function

Call oAPI.Return(oDiscoveryData)

Set oDiscoveryData = Nothing
Set oAPI =Nothing
set oArgs = Nothing


</Script></ScriptBody>
<TimeoutSeconds>300</TimeoutSeconds>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="ScriptDiscovery">
<Node ID="snmpProbe"/>
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>