MSSQL on Windows: Automatic setup of DB Engine discovery filter

Microsoft.SQLServer.Windows.LocalDBEngineDiscoveryFilterSetup (Rule)

This rule automatically disables monitoring of SQL Server 2012, 2014, or 2016 by the new version-agnostic management pack if, at the moment of importing, there are still the old management packs for SQL Server 2012, 2014, or 2016 presented on SCOM.

Knowledge Base article:

Summary

This rule runs only once after installation to detect previously installed SQL Server management packs of other versions.

Element properties:

TargetMicrosoft.SystemCenter.ManagementServer
CategoryMaintenance
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SQLServer.Windows.DataSource.SqlMpDiscoveryDataSource Default
WA1 WriteAction Microsoft.SQLServer.Windows.WriteAction.WriteOverride Default
WA2 WriteAction Microsoft.SQLServer.Windows.WriteAction.WriteOverride Default

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.LocalDBEngineDiscoveryFilterSetup" Target="SC!Microsoft.SystemCenter.ManagementServer" Enabled="true" ConfirmDelivery="false">
<Category>Maintenance</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SQLServer.Windows.DataSource.SqlMpDiscoveryDataSource">
<IntervalSeconds>3600</IntervalSeconds>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA1" TypeID="Microsoft.SQLServer.Windows.WriteAction.WriteOverride">
<ManagementGroupName>$Target/ManagementGroup/Name$</ManagementGroupName>
<TargetElementId>$MPElement[Name="Microsoft.SQLServer.Windows.LocalDBEngineDiscovery"]$</TargetElementId>
<TargetModuleName>DS</TargetModuleName>
<TargetParameterName>ExcludedVersions</TargetParameterName>
<OverrideCategory>Configuration</OverrideCategory>
<OverrideValue>$Data//Property[@Name='VersionList']$</OverrideValue>
<OverrideName>Microsoft.SQLServer.Windows.DiscoveryOverride.LocalDBEngineDiscovery</OverrideName>
<OverrideDisplayName>Disable discovery of selected DB Engines</OverrideDisplayName>
<Publisher>SQLDiscoveryWindows</Publisher>
</WriteAction>
<WriteAction ID="WA2" TypeID="Microsoft.SQLServer.Windows.WriteAction.WriteOverride">
<ManagementGroupName>$Target/ManagementGroup/Name$</ManagementGroupName>
<TargetElementId>$MPElement[Name="Microsoft.SQLServer.Windows.LocalDBEngineDiscoveryFilterSetup"]$</TargetElementId>
<TargetParameterName>Enabled</TargetParameterName>
<OverrideCategory>Property</OverrideCategory>
<OverrideValue>false</OverrideValue>
<OverrideName>Microsoft.SQLServer.Windows.RuleOverride.LocalDBEngineDiscoveryFilterSetup</OverrideName>
<OverrideDisplayName>Disable filter autosetup rule</OverrideDisplayName>
<Publisher>SQLDiscoveryWindows</Publisher>
</WriteAction>
</WriteActions>
</Rule>