Print Spooler: Restart the server or troubleshoot hardware problems

Microsoft.Windows.Server.10.0.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.Restarttheserverortroubleshoothardwareproblems.EventBased.UnitMonitor (UnitMonitor)

Restart the server or troubleshoot hardware problems.

Knowledge Base article:

Summary

Restart the server or troubleshoot hardware problems.

Configuration

The monitor takes a single configuration parameter that controls whether the “Print Spooler” should be monitored when enable the “Microsoft-Windows-PrintService/Admin and Microsoft-Windows-PrintService/Operational” Event logs and restart event log service. By default, the “Print Spooler” Monitor will be monitored only If the “Microsoft-Windows-PrintService/Admin and Microsoft-Windows-PrintService/Operational" Event logs are Enabled.

Resolutions

Determine whether the computer is low on system resources such as CPU resources, disk I/O performance, or memory. To identify what is causing the system to be low on resources, you can generate a System Diagnostics Report by using Reliability and Performance Monitor.

To perform this procedures, you must be a member of the local Administrators group on the affected computer, or you must have been delegated the appropriate authority.

To collect system information for 60 seconds and generate a System Diagnostics Report:

If you cannot resolve the issue after reviewing the recommendations of the System Diagnostics Report, possible resolutions include:

Element properties:

TargetMicrosoft.Windows.Server.10.0.PrintServerRole
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Print Spooler Status Alert By Restart the server or troubleshoot hardware problems
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.Restarttheserverortroubleshoothardwareproblems.EventBased.UnitMonitor" Accessibility="Public" Enabled="false" Target="Microsoft.Windows.Server.10.0.PrintServerRole" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.Restarttheserverortroubleshoothardwareproblems.EventBased.UnitMonitor.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Negative" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="Success" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Microsoft-Windows-PrintService/Admin</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-PrintService</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(354|363)$</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Microsoft-Windows-PrintService/Operational</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-PrintService</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>MatchesRegularExpression</Operator>
<Pattern>^(312|313)$</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>