Print Spooler: Check printer security settings

Microsoft.Windows.Server.6.2.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.Checkprintersecuritysettings.EventBased.UnitMonitor (UnitMonitor)

Check printer security settings.

Knowledge Base article:

Summary

Check the printer security settings.

Resolutions

If the problem recurs, notify users, and then either stop and restart the Print Spooler service or restart the server.

To start or restart the Print Spooler service, use the following procedure.

Warning: Restarting the Print Spooler service causes all print jobs to be restarted. After restarting the Print Spooler service, you might need to reset some printers or turn them off and then turn them on again. On an active print server, perform this procedure outside of normal business hours or during scheduled maintenance time, if possible. Before performing this procedure, take all printers offline and wait for all print jobs to be completed, or pause all printers and wait for all Active print jobs to be completed.

In some instances, you might receive Error 1068 ? \The dependency service or group failed to start\ ? when attempting to start the Print Spooler service. This can happen if the Print Spooler service relies on other services that are not running. To resolve this issue, use the following procedure:

Element properties:

TargetMicrosoft.Windows.Server.6.2.PrintServer.Printer
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Print Spooler Status Alert
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.6.2.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.Checkprintersecuritysettings.EventBased.UnitMonitor" Accessibility="Public" Enabled="onEssentialMonitoring" Target="Microsoft.Windows.Server.6.2.PrintServer.Printer" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.6.2.PrintServer.PrintSpoolerService.PrintSpoolerStatus.System.Checkprintersecuritysettings.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/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>^(366)$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.Server.6.2.PrintServer.Printer"]/DeviceID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/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>