Windows Server 2012 Operating System BPA Monitor

Microsoft.Windows.Server.6.2.Monitoring.BPA.OperatingSystem.Monitor (UnitMonitor)

Monitors Windows Server 2012 operating system compiance with Best Practices Analyzer rules.

Knowledge Base article:

Summary

This monitor is used to leverage the Best Practices Analyzer (BPA) features in Windows Server 2012 Servers. The monitor executes the built-in BPA PowerShell cmdlets on the remote server to validate that the installed Roles are in compliance with the BPA rules.

Element properties:

TargetMicrosoft.Windows.Server.6.2.OperatingSystem
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.Server.6.2.Monitoring.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Operating System is not compliant with Best Practices Analyzer

{0} For more information on the BPA issues detected, view the diagnostic output in the State Change Events tab for the Windows Server 2012 Operating System BPA Monitor in Health Explorer. Alternately, the View Best Practices Analyzer compliance results task can be manually executed to have the results returned.
RunAsSystem.PrivilegedMonitoringAccount

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.6.2.Monitoring.BPA.OperatingSystem.Monitor" RunAs="System!System.PrivilegedMonitoringAccount" Accessibility="Public" Enabled="false" Target="WindowsServer!Microsoft.Windows.Server.6.2.OperatingSystem" ParentMonitorID="SystemHealth!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Microsoft.Windows.Server.6.2.Monitoring.MonitorType" ConfirmDelivery="true">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.6.2.Monitoring.BPA.OperatingSystem.Monitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="MonitorHealthyState" MonitorTypeStateID="Healthy" HealthState="Success"/>
<OperationalState ID="MonitorWarningState" MonitorTypeStateID="Warning" HealthState="Warning"/>
<OperationalState ID="MonitorErrorState" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<Interval>86400</Interval>
</Configuration>
</UnitMonitor>