AD DS Printer Publishing: Allow the spooler to republish the print queue

Microsoft.Windows.Server.10.0.PrintServer.PrintQueue.ADDSPrinterPublishing.System.Allowthespoolertorepublishtheprintqueue.EventBased.UnitMonitor (UnitMonitor)

Allow the spooler to republish the print queue.

Knowledge Base article:

Summary

The print queue is missing from Active Directory Domain Services (AD DS), and the print spooler will attempt to republish it. No user action is required for the print spooler to republish the print queue.

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

If the spooler fails to republish the print queue, the spooler will log another event with more information.

Element properties:

TargetMicrosoft.Windows.Server.10.0.PrintServerRole
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
AD DS Printer Publishing Alert By Allow the spooler to republish the print queue
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.PrintServer.PrintQueue.ADDSPrinterPublishing.System.Allowthespoolertorepublishtheprintqueue.EventBased.UnitMonitor" Accessibility="Public" Enabled="true" 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.PrintQueue.ADDSPrinterPublishing.System.Allowthespoolertorepublishtheprintqueue.EventBased.UnitMonitor.AlertMessage">
<AlertOnState>Warning</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="Warning"/>
<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>^(337)$</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>^(332|334|336|338|342|343|344|345|346)$</Pattern>
</RegExExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>