Microsoft Windows Server DNS failed to load Zone Level Policy

Microsoft.Windows.DNSServer.2016.Rules.Policy.ZoneLevel.LoadFail (Rule)

Alert generating rule for Zone Level Policies.

Knowledge Base article:

Summary

A Zone Level Policy on Windows DNS Server could not be loaded.

Causes

Triggered by events in DNS Server Log with IDs: 793, 794.

Resolutions

A Zone Level Policy on Windows DNS Server could not be loaded. Please check the logs for further details. The Policy needs to be added again on the DNS Server.

Element properties:

TargetMicrosoft.Windows.DNSServer.2016.Policy.ZoneLevel
CategoryAlert
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Windows DNS - Zone Level Policy could not be loaded

Failure in loading DNS Zone Level Policy for Zone {4}. The detailed error message is:
Event ID: {0}
Event Source: {1}
Event Log: {2}
Event Description: {3}
Event LogDNS Server

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
Alert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.Windows.DNSServer.2016.Rules.Policy.ZoneLevel.LoadFail" Enabled="true" Target="Microsoft.Windows.DNSServer.2016.Policy.ZoneLevel" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>DNS Server</LogName>
<Expression>
<And>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">793</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">794</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="Microsoft.Windows.DNSServer.2016.Zone"]/ZoneName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.DNSServer.2016.Policy.ZoneLevel"]/PolicyName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.DNSServer.2016.Rules.Policy.ZoneLevel.LoadFail.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/EventSourceName$</AlertParameter2>
<AlertParameter3>$Data/Channel$</AlertParameter3>
<AlertParameter4>$Data/EventDescription$</AlertParameter4>
<AlertParameter5>$Data/Params/Param[3]$</AlertParameter5>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/Params/Param[1]$</SuppressionValue>
<SuppressionValue>$Data/Params/Param[3]$</SuppressionValue>
</Suppression>
<Custom1/>
<Custom2/>
<Custom3/>
<Custom4/>
<Custom5/>
<Custom6/>
<Custom7/>
<Custom8/>
<Custom9/>
<Custom10/>
</WriteAction>
</WriteActions>
</Rule>