This object monitors the creation of reparse points for DFS folders and creates an alert if the creation process fails.
This rule 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 DfsSvc event 14503. When the folder is created successfully and DfsSvc event 14646 is logged, this monitor transitions to the Healthy state.
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:
The volume hosting the namespace root (the system volume by default) does not have any free disk space.
The local System account does not have Full Control permissions to the parent directory of the namespace root (often C:\DFSRoots).
The namespace root folder contains a drive assigned to a mount-point folder path (rather than a drive letter), and the mount-point folder path is the same path as the DFS folder that the administrator tried to create. For example, if C:\DFSRoots\Namespace is the namespace root folder, and it contains a drive that has the C:\DFSRoots\Namespace\Tool mount-point folder path assigned to it, an attempt to create a DFS folder named Tools in that namespace would fail because that folder already exists.
Increase 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 hosted the affected namespace and <domain\user> is your username.
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 a 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 (this command is not available on Windows Server 2003).
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. The monitor in the Operations console should automatically reset to the Healthy state.
DFS Namespaces Event 14503 (http://go.microsoft.com/fwlink/?LinkId=186594)
DFS Namespaces Event 14646 (http://go.microsoft.com/fwlink/?LinkId=186613)
Target | Microsoft.Windows.FileServer.DFSN.2003.RootTarget | ||
Parent Monitor | System.Health.AvailabilityState | ||
Category | AvailabilityHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.Windows.SingleEventLogManualReset2StateMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.Windows.FileServer.DFSN.2003.RootTarget.ReparsePointFailure" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServer.DFSN.2003.RootTarget" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType" ConfirmDelivery="true">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Windows.FileServer.DFSN.2003.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="EventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>System</LogName>
<Expression>
<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>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">LoggingComputer</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetbiosComputerName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">LoggingComputer</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</Configuration>
</UnitMonitor>