Creates a new discovery data object, which stores discovery data and is used to submit the collected data back to the Management Server.
MOMScriptAPI.CreateDiscoveryData(dwSourceType, bstrSourceId, bstrManagedEntityId) |
Parameters
Parameter | Type | Description |
---|---|---|
dwSourceType |
Long |
The source type. The value 0 (Rule) should always be used for the source type. |
bstrSourceId |
String |
The ID of the source monitoring class. |
bstrManagedEntityId |
String |
The ID of the monitoring object. |
Return Value
Type | Description |
---|---|
Object |
A new instance of the MOMDiscoveryData object. |
Remarks
To create discovery data you must first create a MOMScriptAPI object.
After a MOMScriptAPI object is created, you can create a discovery data object. The MOMScriptAPI.CreateDiscoveryData method takes three parametersdwSourceType, bstrSourceId, and bstrManagedEntityId.
The GUID of the discovery object that launched the script is passed into the script as $MPElement$ and the GUID of the object that the script is executing against is passed in as $Target/Id$.
After the MOMDiscoveryData object is created, you can create instances and relationships to be submitted to the Operations Manager.
Requirements
Platforms: Requires Windows Server 2003, Windows Vista, or Windows Server 2008
Version: Requires Operations Manager 2007
Example
This example creates a discovery data object as identified by the input parameters and adds property values to any files in the identified folder on the target computer.
![]() |
|
---|---|
Option Explicit Dim oArgs Set oArgs = WScript.Arguments Dim oAPI Set oAPI = CreateObject("MOM.ScriptAPI") Dim SourceId, ManagedEntityId, targetComputer ' SourceId is the GUID of the discovery object that runs the script. SourceId = oArgs(0) ' ManagedEntityId is the GUID of the computer class that is targeted by the script. ManagedEntityId = oArgs(1) ' targetComputer is the Fully Qualified Domain Name ' of the computer targeted by the script. The FQDN ' is in Arg(2) of the command prompt. targetComputer = oArgs(2) Dim oFSO, oDiscoveryData, oInst Set oDiscoveryData = oAPI.CreateDiscoveryData(0, SourceId, ManagedEntityId) Set oFSO = CreateObject("Scripting.FileSystemObject") If (oFSO.FolderExists("C:Appy")) Then ' Create the application instance. Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Microsoft.Demo.Scripting.Appy']$") ' Define the property values. Call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", targetComputer) Call oInst.AddProperty("$MPElement[Name='Microsoft.Demo.Scripting.AppY']/Version$", "2.0") Call oInst.AddProperty("$MPElement[Name='Microsoft.Demo.Scripting.AppY']/Path$", "C:\AppY") Call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$", "Application Y") Call oDiscoveryData.AddInstance(oInst) ' Discover the application's components. Dim oFolder, ofile Set oFolder = oFSO.GetFolder("C:\Appy") ' Create a separate class instance for each file in the folder. For Each oFile in oFolder.Files Set oInst = oDiscoveryData.CreateClassInstance("$MPElement[Name='Microsoft.Demo.Scripting.AppYComponent']$") ' Define the property values for the class. ' The available properties are detemined by the 'Management Pack that defines the class. Call oInst.AddProperty("$MPElement[Name='Windows!Microsoft.Windows.Computer']/PrincipalName$", targetComputer) Call oInst.AddProperty("$MPElement[Name='Microsoft.Demo.Scripting.AppYComponent']/ID$", StripExtension(oFile.Name)) Call oInst.AddProperty("$MPElement[Name='Microsoft.Demo.Scripting.AppYComponent']/FileName$", oFile.Name) Call oInst.AddProperty("$MPElement[Name='System!System.Entity']/DisplayName$",StripExtension(oFile.Name)) Call oDiscoveryData.AddInstance(oInst) Next End If ' Submit the discovery data to the Operations Manager database. Call oAPI.Return(oDiscoveryData) ' A helper function to remove the extension from a file name. Function StripExtension (sFile) StripExtension = Left(sFile, Len(sFile) -4) End Function |
See Also
Send comments about this topic to Microsoft.