AD DS Printer Publishing: Allow the spooler to retry pruning the printer

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

Allow the spooler to retry pruning the printer.

Knowledge Base article:

Summary

The spooler will periodically try to remove the entry until it succeeds in doing so. Continued failures may indicate an Active Directory Domain Services (AD DS) problem, a basic network problem, or a communication problem between the domain controller and the print server

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

No user action is required. If the spooler continues to fail when trying to remove the print spooler from AD DS and it is important that the printer is removed from AD DS, try the following actions to resolve the issue:

Fix DNS server problems

To resolve DNS server problems:

For more information about troubleshooting DNS server problems, see the following Microsoft Web sites:

Fix AD DS problems

To resolve Active Directory Domain Services (AD DS) problems, do the following:

If you continue to have AD DS problems, you can try the following actions to further diagnose the problem:

Element properties:

TargetMicrosoft.Windows.Server.10.0.PrintServer.Printer
Parent MonitorSystem.Health.AvailabilityState
CategoryStateCollection
EnabledFalse
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 retry pruning the printer
{0}
RunAsDefault

Source Code:

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