How to Display Performance Collection Rules

Betrifft: Exchange Server, Operations Manager 2007

To display performance collection rules, use the script in this section. This script works for the majority of monitors. It creates a .csv file that with the following columns, and can be viewed using Excel.

Column Description

WriteAction

Contains information about where the performance counter is written

WriteToDB or CollectionPerformanceData

Writes to the Operations Manager database

WriteToDW or CollectPerfDataWarehouse

Writes to the data warehouse

WC

Stores baseline data for a performance counter into the operational database

To display the performance collection rules present in the management group, run the following script:

function GetPerfCounterName ([String] $configuration)

{

$config = [xml] ("<config>" + $configuration + "</config>")

return ($config.Config.ObjectName + "\" + $config.Config.CounterName)

}

function GetFrequency ([String] $configuration)

{

$config = [xml] ("<config>" + $configuration + "</config>")

$frequency = $config.Config.Frequency;

if($frequency -eq $null)

{

$frequency = $config.Config.IntervalSeconds;

}

return ($frequency)

}

function GetDisplayName($performanceRule)

{

if($performanceRule.DisplayName -eq $null)

{

return ($performanceRule.Name);

}

else

{

return ($performanceRule.DisplayName);

}

}

function GetWriteActionNames($performanceRule)

{

$writeActions = "";

foreach($writeAction in $performanceRule.WriteActionCollection)

{

$writeActions += " " + $writeAction.Name;

}

return ($writeActions);

}

$perf_collection_rules = get-rule -criteria:"Category='PerformanceCollection'"

$perf_collection_rules | select-object @{name="Type";expression={foreach-object {(Get-MonitoringClass -id:$_.Target.Id).DisplayName}}},@{name="RuleDisplayName";expression={foreach-object {GetDisplayName $_}}} ,@{name="CounterName";expression={foreach-object {GetPerfCounterName $_.DataSourceCollection[0].Configuration}}},@{name="Frequency";expression={foreach-object {GetFrequency $_.DataSourceCollection[0].Configuration}}},@{name="WriteActions";expression={foreach-object {GetWriteActionNames $_}}} | sort Type,RuleDisplayName,CounterName | export-csv "c:\perf_collection_rules.csv"