DFS-N: Reparse Point and Directory Creation

Microsoft.Windows.FileServer.DFSN.6.2.RootTarget.ReparsePointFailure (UnitMonitor)

This object monitors the creation of reparse points for DFS folders and creates an alert if the creation process fails.

Knowledge Base article:

Summary

This object monitors the creation of reparse points for DFS folders and creates an alert if the creation process fails. It does so by looking for the presence of DFS Namespaces event 14503. When the folder is created successfully and DFS Namespaces event 14646 is logged, this monitor transitions to the Healthy state.

Causes

When a namespace administrator creates a new DFS folder, the DFS Namespace service can fail to create the corresponding reparse point or directory for the following reasons:

Resolutions

Check available disk space

To resolve this issue, check if the affected volume is low on available disk space. To do so, open a command prompt window and type WMIC /node: "<servername>" /user: <domain\user> volume list status where <servername> is the name of the server hosting the affected namespace and <domain\user> is your user name.

If the volume is low on disk space, increase available disk space on the volume, or increase the size of the volume.

Verification

The monitor in the Operations console should automatically reset to the Healthy state.

To verify that the folder (link) and folder targets are functioning properly, use the following procedure:

1. Open a command prompt window and then use the Dfsutil link\\<namespace>\<folder> command, where <namespace> is the namespace root, and <folder> is the DFS folder whose folder targets you would like to verify are online.

2. Confirm that the state of the folder is OK and that the states of the appropriate targets are Online, and then reset the monitor in the Operations console.

Additional

DFS Namespaces Event 14503 (http://go.microsoft.com/fwlink/?LinkId=186539).

Element properties:

TargetMicrosoft.Windows.FileServer.DFSN.6.2.RootTarget
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
DFS-N: Failed to Create a Reparse Point or Directory
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServer.DFSN.6.2.RootTarget.ReparsePointFailure" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSN.6.2.RootTarget" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSN.6.2.RootTarget.ReparsePointFailure_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDescription$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>System</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">14503</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>DfsSvc</Pattern>
</RegExExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>$Target/Property[Type="DFSNLib!Microsoft.Windows.FileServer.DFSN.RootTarget"]/RootDirectory$</Pattern>
</RegExExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>System</SecondLogName>
<SecondExpression>
<Or>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">14546</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>DfsSvc</Pattern>
</RegExExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>$Target/Property[Type="DFSNLib!Microsoft.Windows.FileServer.DFSN.RootTarget"]/RootDirectory$</Pattern>
</RegExExpression>
</Expression>
</And>
</Expression>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">7036</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">DFS Namespace</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">stopped</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</Or>
</SecondExpression>
</Configuration>
</UnitMonitor>