MOMScriptAPI.CreateTypedPropertyBag Method

Updated: January 31, 2012

Applies To: System Center 2012 - Operations Manager

Creates a new MOMPropertyBag object that is used to temporarily store operations data (such as discovery, event, alert or performance data) as a collection of name-value pairs. The property bag object supports only one type of conversion, allowing for conversion type checking within mapping modules.

MOMScriptAPI.CreateTypedPropertyBag(type)

Parameters

 

Parameter Type Description

type

long

The type of conversion.

 

Type Description

Object

A new instance of a MOMPropertyBag object.

A script uses a property bag to store output data that will be used by subsequent modules. The four possible usages of property bags are:

  • Map data to a performance point and store in the database.

  • Map data to an event and store in the database.

  • Use data to evaluate state as part of a monitor.

  • Use data to an alert and store in the database.

The following table defines the valid values for the type parameter.

 

Value Definition

0

Alert Data

1

Event Data

2

Performance Data

3

State Data

ImportantImportant
With the current release of Operations Manager—System Center 2012 – Operations Manager, the only modules that use the conversion type check are the mapping modules that perform conversion to event and performance data. For more information about mapping modules, see How to Use Monitoring Data in a Management Pack.

Platforms: Requires Windows Server 2003, Windows Vista, or Windows Server 2008

Version: Requires Operations Manager 2007 or System Center 2012 – Operations Manager

The following example creates two MOMPropertyBag objects with data that maps to performance data. After the example adds the objects to the internal array of the MOMScriptAPI object, it then submits them to Operations Manager.

Dim pathDB
Dim sizeDB
Dim freespaceDB
Dim oAPI
Set oAPI = CreateObject("MOM.ScriptAPI")

Set objAD = CreateObject("McActiveDir.ActiveDirectory")
objAD.Server = "ComputerName"

If objAD.GetDatabaseInfo(pathDB, sizeDB, freespaceDB) Then 
   pathDB = LCase(pathDB) 

   Set oBag = oAPI.CreateTypedPropertyBag(2) 
   oBag.AddValue "StatusCounter" , "Database Drive Free Space" 
   oBag.AddValue "StatusInstance", pathDB 
   oBag.AddValue "StatusValue", "" & freespaceDB 
   oAPI.AddItem oBag

   Set oBag = oAPI.CreateTypedPropertyBag(2) 
   oBag.AddValue "StatusCounter" , "Database Size" 
   oBag.AddValue "StatusInstance" , pathDB 
   oBag.AddValue "StatusValue", "" &  sizeDB
   oAPI.AddItem oBag

End If

Call oAPI.ReturnItems 

The following example shows the XML for a data-mapping condition-detector module. This module makes it possible for the MOMPropertyBag object data to be converted into performance data that can be stored in the Operations Manager database.

<ConditionDetection ID= PerfMapper  TypeID= SystemPerf!System.Performance.DataGenericMapper >
<ObjectName>Ad Storage</ObjectName>
<CounterName>$Data/Property[@Name= StatusCounter ]$</CounterName>
<InstanceName>$Data/Property[@Name= StatusInstance ]$</InstanceName>
<Value>$Data/Property[@Name= StatusValue ]$</Value>
</ConditionDetection>

Reference