NFS: Server for NFS Network Port Registration

Microsoft.Windows.FileServices.Service.NFS.6.2.Server.PortRegistration (UnitMonitor)

This object monitors the registration of ports with the network stack and generates an alert if Server for NFS cannot register a port, if the alert is enabled for this monitor.

Knowledge Base article:

Summary

This object monitors the registration of ports with the network stack and generates an alert if Server for NFS cannot register a port, if the alert is enabled for this monitor.

The Remote Procedure Call (RPC) Port Mapper service enables UNIX-based computers to discover the UNIX-compatible services available on Windows-based computers and must be active for Server for NFS to start. NFS clients discover NFS servers by querying the RPC Port Mapper service for a remote server. The RPC Port Mapper service converts RPC data into TCP and UDP protocol port numbers.

Causes

This monitor can enter a Warning or Critical health state if Windows does not have enough available TCP/IP ports. Other drivers, services, or programs might be using the TCP/IP ports that are required so that Server for NFS could not register all the port/protocol combinations.

Inspect the Windows System event log for messages from Event source Microsoft-Windows-ServicesForNFS-Server and Event IDs 1059, or 1060, which may have further information on which protocol or port caused the problem.

If the health state is unknown, it means that monitoring has not yet begun for this object.

Resolutions

Determine if Server for NFS has registered all protocols

To determine the ports and transports that Server for NFS uses, at an elevated command prompt on the affected server, type rpcinfo.

Server for NFS typically uses the following port/protocol combinations:

Make TCP/IP ports available and restart Server for NFS

To make TCP/IP ports available and restart Server for NFS, use the following procedure:

1. At an elevated command prompt, type netstat -a -b -o to display all connections with their associated executables and processes.

2. Resolve port allocations conflicting with the NFS ports identified in Step 1 by deleting unnecessary drivers, stopping unnecessary services, or closing unnecessary programs.

3. Type nfsadmin server stop.

4. Type nfsadmin server start.

Verification

To verify that Server for NFS has successfully registered all protocols, use the following procedure:

1. At an elevated command prompt on the affected server, type rpcinfo.

2. In the list, verify that the mountd, nfs, nlockmgr and status services are all registered with the port mapper on both IPv4 and IPv6 (if used).

This monitor automatically resets to a Healthy state after Server for NFS is restarted.

Additional

Event IDs 1059 and 1060 (http://go.microsoft.com/fwlink/?LinkId=185995)

For more information about configuring Server for NFS, see Services for Network File System (http://go.microsoft.com/fwlink/?LinkId=185983).

Element properties:

TargetMicrosoft.Windows.FileServices.Service.NFS.6.2
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateFalse
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.3SingleEventLog3StateUnitMonitorType
RemotableTrue
AccessibilityPublic
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.FileServices.Service.NFS.6.2.Server.PortRegistration" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.FileServices.Service.NFS.6.2" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.3SingleEventLog3StateUnitMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<OperationalStates>
<OperationalState ID="FirstEventRaised" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
<OperationalState ID="SecondEventRaised" MonitorTypeStateID="SecondEventRaised" HealthState="Warning"/>
<OperationalState ID="ThirdEventRaised" MonitorTypeStateID="ThirdEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Microsoft-Windows-ServicesForNFS-Server/Admin</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1060</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-ServicesForNFS-Server</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Microsoft-Windows-ServicesForNFS-Server/Admin</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-ServicesForNFS-Server</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1059</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
<ThirdComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ThirdComputerName>
<ThirdLogName>Microsoft-Windows-ServicesForNFS-Server/Admin</ThirdLogName>
<ThirdExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1000</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-ServicesForNFS-Server</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</ThirdExpression>
</Configuration>
</UnitMonitor>