Infront Active Directory MP - Compare Active Directory and Agents Installed

Infront.ActiveDirectory.CompareADAndAgents (Rule)

Compares the machine listing for the Active Directory Domain that Operations Manager is joined to and the SCOM agent listings, and raises an alert if there are systems found that do not have an agent installed. Note that the health state of the agent is not considered.

Knowledge Base article:

Summary

Performing a scan of Active Directory for servers that do not have SCOM agents installed

Element properties:

TargetMicrosoft.SystemCenter.RootManagementServer
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
RemotableTrue
Alert Message
Infront Active Directory MP - Computers without Agents found in Active Directory

One or more computers have been found in the Active Directory domain SCOM is joined to that are not being monitored (either by a local agent installation or remotely monitored).

Number of machines found : {0}

Machines :
{1}

Member Modules:

ID Module Type TypeId RunAs 
CompareADAndAgentsDS DataSource Infront.ActiveDirectory.Datasource.MissingAgentADDatasource Default
MissingAgentsFound ConditionDetection System.ExpressionFilter Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Infront.ActiveDirectory.CompareADAndAgents" Enabled="false" Target="SC!Microsoft.SystemCenter.RootManagementServer" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>ConfigurationHealth</Category>
<DataSources>
<DataSource ID="CompareADAndAgentsDS" TypeID="Infront.ActiveDirectory.Datasource.MissingAgentADDatasource">
<IntervalSeconds>86400</IntervalSeconds>
<TimeoutSeconds>300</TimeoutSeconds>
<SyncTime>00:00</SyncTime>
<PageSize>2000</PageSize>
<IncludeDesktops>no</IncludeDesktops>
</DataSource>
</DataSources>
<ConditionDetection ID="MissingAgentsFound" TypeID="System!System.ExpressionFilter">
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">Property[@Name='Missing Agents']</XPathQuery>
</ValueExpression>
<Operator>Greater</Operator>
<ValueExpression>
<Value Type="Integer">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="AlertMessage_ComputersWithoutAgentsFoundInAD"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Property[@Name='Missing Agents']$</AlertParameter1>
<AlertParameter2>$Data/Property[@Name='ListOfComputers']$</AlertParameter2>
</AlertParameters>
</WriteAction>
</WriteActions>
</Rule>