'**********************************************************************************
' 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 > 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
' 构造被发现数据对象,后面会在里面放参数
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
' 在字符串中删除子串
str1 = oid
str2 = ".1.3.6.1.4.1.34774.4.1.23.4.5.1.1."
' 先找出字串的起始位置
p1=instr(str1,str2)
' 然后取它前面的和后面的即可
str1=left(str1,p1-1) & mid(str1,p1+len(str2))
GetIndex = str1
End Function
Call oAPI.Return(oDiscoveryData)
Set oDiscoveryData = Nothing
Set oAPI =Nothing
set oArgs = Nothing