Logging folder overlap monitor.

Microsoft.Windows.DfsReplication.WorkingFolderOverlapsLoggingFolderMonitor (UnitMonitor)

This monitor checks to see if the root path of any replicated folder overlaps with the DFS Replication debug log directory.

Knowledge Base article:

Summary

The DFS Replication service may register this event if it detects that the root path or any of the working folders of the specified replicated folder overlaps with the location of the DFS Replication debug log.

Event: 6412

Anti-events: 4002, 4008, 4010, 4114, 1004, 1104

Causes

Replication of the specified replicated folder is stopped because configuring a replicated folder path that overlaps with the DFS Replication service’s debug log folder is not supported.

Resolutions

To resolve this issue, use the following procedure:

Note: To perform the following procedure, you must be a member of the Domain Admins group in the domain in which the replication group is configured, the creator of the replication group, or have been delegated permissions.

1. On the affected computer, examine DFS Replication event 6412 in the System Log of Event Viewer to determine the replicated folder which has been configured incorrectly.

2. Using the DFS Management snap-in, make a note of the root path of the replicated folder, and its staging area.

3. On the affected computer, use the following command to determine the path where DFS Replication debug logs are stored: wmic /namespace:\\root\microsoftdfs path dfsrmachineconfig get DebugLogFilePath

4. Check to see whether any of the paths configured for the replicated folder overlaps with the location of the debug logs.

5. Using the DFS Management snap-in, re-configure the replicated folder so that none of its working folders overlaps with the debug log folder.

Additional

DFS Replication Event 6412 (http://go.microsoft.com/fwlink/?LinkId=52897)

Delegate the Ability to Manage DFS Replication (http://go.microsoft.com/fwlink/?LinkId=165782)

Element properties:

TargetMicrosoft.Windows.DfsReplication.ReplicatedFolder
Parent MonitorSystem.Health.ConfigurationState
CategoryStateCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Working folder overlaps the logging folder
The DFS Replication service failed to initialize replicated folder {0} because the service detected that one of its private folders overlaps with the debug log
folder. This is an unsupported configuration. Additional Information: Overlapped Folder: {1} Replicated Folder: {2}
Replicated Folder Name: {3} Replicated Folder ID: {4}
Replication Group Name: {5} Replication Group ID: {6}
Member ID: {7}
Log Folder:{8}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.DfsReplication.WorkingFolderOverlapsLoggingFolderMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.DfsReplication.ReplicatedFolder" ParentMonitorID="Health!System.Health.ConfigurationState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.Windows.DfsReplication.WorkingFolderOverlapsLoggingFolderMonitor_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Params/Param[2]$</AlertParameter1>
<AlertParameter2>$Data/Context/Params/Param[3]$</AlertParameter2>
<AlertParameter3>$Data/Context/Params/Param[4]$</AlertParameter3>
<AlertParameter4>$Data/Context/Params/Param[5]$</AlertParameter4>
<AlertParameter5>$Data/Context/Params/Param[1]$</AlertParameter5>
<AlertParameter6>$Data/Context/Params/Param[6]$</AlertParameter6>
<AlertParameter7>$Data/Context/Params/Param[7]$</AlertParameter7>
<AlertParameter8>$Data/Context/Params/Param[8]$</AlertParameter8>
<AlertParameter9>$Data/Context/Params/Param[9]$</AlertParameter9>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>DFS Replication</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">6412</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</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.DfsReplication.ReplicatedFolder"]/ReplicatedFolderGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>DFS Replication</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFSR</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1004</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1104</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Property[Type="Microsoft.Windows.DfsReplication.ReplicatedFolder"]/ReplicatedFolderGUID$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4002</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4008</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4010</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">4114</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>