ConfigMgr 2012 Client Pending Software Updates Monitor

ConfigMgr.2012.Client.Monitoring.ConfigMgr.2012.Client.Pending.Software.Updates.Monitor (UnitMonitor)

Detects pending software updates that have passed configured deadline.

Knowledge Base article:

Summary

This monitor detects any software updates that have passed the deadline for over the configured grace period days (default 15 days).

Configuration

A critical alert is raised when the at least one update is in pending state and has passed the deadline for over the configured grace period days.

When the monitor enters Healthy state, the alert is automatically closed.

Resolutions

Please use various tools such as SCCM 2012 Client Center or the native reports in ConfigMgr 2012 console to detect th missing updates. The updates maybe pending because of no maintenance windows or the installation may have failed.

Additional

SCCM 2012 Client Center can be downloaded at http://sccmclictr.codeplex.com

Element properties:

TargetConfigMgr.2012.Client.Library.ConfigMgr.2012.Client.App.Component.Software.Update.Agent
Parent MonitorSystem.Health.SecurityState
CategorySecurityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeConfigMgr.2012.Client.Library.Check.Pending.Software.Updates.2.State.MonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Pending software udpates detected on ConfigMgr 2012 Client Software Update Agent
On ConfigMgr 2012 client {0}, there are {1} update(s) detected that have passed the deadline for over {2} days(s). For details of the missing updates, please use the SCCM 2012 Client Center or run the "Compliance 5 -Specific computer" report from ConfigMgr 2012 console.
RunAsDefault

Source Code:

<UnitMonitor ID="ConfigMgr.2012.Client.Monitoring.ConfigMgr.2012.Client.Pending.Software.Updates.Monitor" Accessibility="Public" Enabled="true" Target="C2CL!ConfigMgr.2012.Client.Library.ConfigMgr.2012.Client.App.Component.Software.Update.Agent" ParentMonitorID="Health!System.Health.SecurityState" Remotable="true" Priority="Normal" TypeID="C2CL!ConfigMgr.2012.Client.Library.Check.Pending.Software.Updates.2.State.MonitorType" ConfirmDelivery="false">
<Category>SecurityHealth</Category>
<AlertSettings AlertMessage="ConfigMgr.2012.Client.Monitoring.ConfigMgr.2012.Client.Pending.Software.Updates.Monitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</AlertParameter1>
<AlertParameter2>$Data/Context/Property[@Name='PendingUpdatesCount']$</AlertParameter2>
<AlertParameter3>$Data/Context/Property[@Name='GracePeriodDays']$</AlertParameter3>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OK" MonitorTypeStateID="OK" HealthState="Success"/>
<OperationalState ID="Error" MonitorTypeStateID="Error" HealthState="Error"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>86400</IntervalSeconds>
<SyncTime/>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<GracePeriodDays>15</GracePeriodDays>
<TimeoutSeconds>180</TimeoutSeconds>
</Configuration>
</UnitMonitor>