Microsoft.Windows.Discovery.RegistryProviderSingle
Applies To: Operations Manager 2007 R2
The Microsoft.Windows.Discovery.RegistryProviderSingle module is a discovery data source module type that queries the Windows registry for a single value or key at a scheduled frequency and returns the results as Microsoft.Windows.RegistryData type data.
Usage
Use this module when you want to query the Windows registry and return the data within a workflow such as a rule or monitor. If you want to retrieve multiple values or keys, use the Microsoft.Windows.RegistryProvider module. Using this module in any workflow other than a discovery workflow can cause serious performance degradation.
Type Definition
<DataSourceModuleType ID="Microsoft.Windows.Discovery.RegistryProviderSingle" Accessibility="Public">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Microsoft.Windows.RegistryAttributeDefinitionsSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="ComputerName" type="xsd:string" />
<xsd:element name="AttributeName" type="xsd:ID" />
<xsd:element name="Path" type="xsd:string" />
<xsd:element name="PathType" type="xsd:integer" />
<xsd:element name="AttributeType" type="xsd:integer" />
<xsd:element name="Frequency" type="xsd:unsignedInt" />
<xsd:element name="RegistryView" minOccurs="0" maxOccurs="1" type="RegistryViewType" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Frequency" Selector="$Config/Frequency$" ParameterType="int" />
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<DataSource TypeID="System!System.Discovery.Scheduler" ID="Scheduler">
<Scheduler>
<SimpleReccuringSchedule>
<Interval Unit="Seconds">$Config/Frequency$</Interval>
</SimpleReccuringSchedule>
<ExcludeDates />
</Scheduler>
</DataSource>
<ProbeAction TypeID="Microsoft.Windows.RegistryProbe" ID="Probe">
<ComputerName>$Config/ComputerName$</ComputerName>
<RegistryAttributeDefinitions>
<RegistryAttributeDefinition>
<AttributeName>$Config/AttributeName$</AttributeName>
<Path>$Config/Path$</Path>
<PathType>$Config/PathType$</PathType>
<AttributeType>$Config/AttributeType$</AttributeType>
<RegistryView>$Config/RegistryView$</RegistryView>
</RegistryAttributeDefinition>
</RegistryAttributeDefinitions>
</ProbeAction>
</MemberModules>
<Composition>
<Node ID="Probe">
<Node ID="Scheduler" />
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>Microsoft.Windows.RegistryData</OutputType>
</DataSourceModuleType>
Parameters
The Microsoft.Windows.Discovery.RegistryProviderSingle module supports the configuration parameters described in the following table.
Parameter | Type | Overrideable | Description |
---|---|---|---|
ComputerName |
String |
False |
Required parameter. The name of the computer from which to query the registry. |
AttributeName |
ID |
False |
Required parameter. An identifier for the value in the output data item. The identifier must consist only of letters, numbers, the underscore, hyphen, and period. Digits, the hyphen, and the period cannot be used to start the name. |
Path |
String |
False |
Required parameter. The path to collect in the registry under HKEY_LOCAL_MACHINE. This path can be a key or a value. |
PathType |
Integer |
False |
Required parameter. Specifies whether the path is a key or a value.
|
AttributeType |
Integer |
False |
Required parameter. The data type of the value to return:
Values 1, 2, and 3 are used only when the PathType parameter is set to 1. |
Frequency |
Unsigned Integer |
True |
Required parameter. Specifies the frequency, in seconds, at which to run the query over the Windows registry. |
RegistryView |
RegistryViewType |
False |
Optional parameter. Specifies the registry view type to access. If unspecified, defaults to a value of “default”. |
For more information about the ComputerName parameter, see the Microsoft.Windows.RegistryProbe module.
For more information about the AttributeName, Path, PathType, RegistryView, and AttributeType parameters, see the RegistryAttributeDefinitionsType schema type.
For more information about the Frequency parameter, see the System.Discovery.Scheduler module.
Composition
The Microsoft.Windows.Discovery.RegistryProviderSingle module is a composite module that contains the member modules described in the following table.
Workflow Run Order | Module Type | Usage |
---|---|---|
1 |
Triggers the subsequent probe module to run at a scheduled, recurring interval in discovery workflows. |
|
2 |
Runs the query on the Windows registry and returns Microsoft.Windows.RegistryData data. |
Related Modules
Module Type | Usage |
---|---|
Queries Windows registry values or keys and returns Microsoft.Windows.RegistryData data. |
|
Queries a single Windows registry value or key and returns Microsoft.Windows.RegistryData data. |
|
Queries Windows registry keys or values and returns Microsoft.Windows.RegistryData data. This type has simpler configuration, but only a single value or key can be specified. This should be used only from within a data source module type definition that returns discovery data. |
|
Queries the Windows registry on a timed interval and returns System.Discovery.Data data. This type takes an expression to filter data on. |
|
Queries the Windows registry and returns System.Discovery.Data data. No filtering of data is provided in this module type. This should be used only when you know that the registry keys and values will always be present. |
|
Queries the Windows registry for a single key or value and returns System.Discovery.Data data. No filtering of data is provided in this module type. This should be used only when you know that the registry keys and values will always be present. |
External Module References
None.
Sample
The following XML sample shows an example of a discovery that uses the Microsoft.Windows.Discovery.RegistryProviderSingle module to discovery a class instance at the specified interval.
The following section of this sample show how the discovery module defines Microsoft.Windows.Discovery.RegistryProviderSingle as a member module.
<DataSourceModuleType ID="Microsoft.Windows.FilteredRegistryDiscoveryProviderSingle" Accessibility="Public">
<Configuration>
<IncludeSchemaTypes>
<SchemaType>Microsoft.Windows.RegistryAttributeDefinitionsSchema</SchemaType>
<SchemaType>System!System.Discovery.MapperSchema</SchemaType>
<SchemaType>System!System.ExpressionEvaluatorSchema</SchemaType>
</IncludeSchemaTypes>
<xsd:element name="ComputerName" type="xsd:string" />
<xsd:element name="AttributeName" type="xsd:ID" />
<xsd:element name="Path" type="xsd:string" />
<xsd:element name="PathType" type="xsd:integer" />
<xsd:element name="AttributeType" type="xsd:integer" />
<xsd:element name="Frequency" type="xsd:unsignedInt" />
<xsd:element name="RegistryView" minOccurs="0" maxOccurs="1" type="RegistryViewType" />
<xsd:element name="ClassId" type="xsd:string" />
<xsd:element name="InstanceSettings" minOccurs="0" maxOccurs="1" type="SettingsType" />
<xsd:element name="Expression" type="ExpressionType" />
</Configuration>
<OverrideableParameters>
<OverrideableParameter ID="Frequency" Selector="$Config/Frequency$" ParameterType="int" />
</OverrideableParameters>
<ModuleImplementation>
<Composite>
<MemberModules>
<DataSource ID="DS" TypeID="Microsoft.Windows.Discovery.RegistryProviderSingle">
<ComputerName>$Config/ComputerName$</ComputerName>
<Frequency>$Config/Frequency$</Frequency>
<AttributeName>$Config/AttributeName $</AttributeName>
<Path>$Config/Path $</Path>
<PathType>$Config/PathType $</PathType>
<AttributeType>$Config/AttributeType $</AttributeType>
<RegistryView>$Config/RegistryView</RegistryView>
</DataSource>
<ConditionDetection ID="Mapping" TypeID="System!System.Discovery.FilteredClassSnapshotDataMapper">
<Expression>$Config/Expression$</Expression>
<ClassId>$Config/ClassId$</ClassId>
<InstanceSettings>$Config/InstanceSettings$</InstanceSettings>
</ConditionDetection>
</MemberModules>
<Composition>
<Node ID="Mapping">
<Node ID="DS" />
</Node>
</Composition>
</Composite>
</ModuleImplementation>
<OutputType>System!System.Discovery.Data</OutputType>
</DataSourceModuleType>
This section of the sample shows how the preceding data source module type is implemented within a discovery workflow.
<Discovery ID="Microsoft.Samples.ApplicationX.Discovery" Target="Windows!Microsoft.Windows.Server.Computer" Remotable="true" Enabled="true">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="Microsoft.Samples.ApplicationX">
<Property PropertyID="Version"/>
<Property PropertyID="Path"/>
<Property TypeID="System!System.Entity" PropertyID="DisplayName"/>
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.FilteredRegistryDiscoveryProviderSingle">
<ComputerName>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<AttributeName>ApplicationXExists</AttributeName>
<Path>SOFTWARE\MicrosoftSamples\ApplicationX</Path>
<PathType>0</PathType>
<AttributeType>0</AttributeType>
<Frequency>1800</Frequency>
<ClassId>$MPElement[Name="Microsoft.Samples.ApplicationX"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="System!System.Entity"]/DisplayName$</Name>
<Value>Application X ($Target/Property[Type="Windows!Microsoft.Windows.Computer"]/NetbiosComputerName$)</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>
Information
Module Type |
|
Input Type |
None |
Output Type |
|
Implementation |
Composite |
Library |
Microsoft.Windows.Library |