Remote Desktop IP Virtualization Availability

Microsoft.Windows.Server.10.0.RemoteDesktopServices.NewUnitMonitor_16 (UnitMonitor)

This object monitors the availability of Remote Desktop IP Virtualization.

Knowledge Base article:

Summary

Remote Desktop IP Virtualization relies on the proper network adapters to be enabled on the RD Session Host server.

Resolutions

To resolve this issue, check the event ID, and then view the troubleshooting information for that event in the sections below.

Resolution steps for the following event IDs: 113, 102, 114, 118

To resolve this issue, identify and fix any issues with the RD Session Host server by doing the following:

To perform these tasks, refer to the following sections.

To perform these procedures, you must have membership in the local Administrators group, or you must have been delegated the appropriate authority.

Ensure that the network adapter used for Remote Desktop IP Virtualization is enabled

The network adapter used for Remote Desktop IP Virtualization must be enabled for Remote Desktop IP Virtualization to work correctly.

To ensure that the network adapter used for Remote Desktop IP Virtualization is enabled:

1. On the RD Session Host server, click Start, and then click Control Panel.

2. Click Network and Internet, and then click View network status and tasks.

3. Click Change adapter settings.

4. Right-click the network adapter to be enabled, and then click Status.

5. Ensure that the Media State status is Enabled.

Free up memory on the RD Session Host server

One way to increase the amount of available memory is to determine if there are any programs or processes running on the RD Session Host server that can be closed. Use Task Manager to determine which processes are using the most memory, and to end those processes.

To free up memory on the RD Session Host server:

1. On the RD Session Host server, right-click an empty area of the taskbar, and then click Start Task Manager.

2. Click the Processes tab.

3. Make sure that the User Name and Memory (Private Working Set) columns appear. If they do not appear, on the View menu, click Select Columns, select the User Name and the Memory (Private Working Set) check boxes, and then click OK.

4. At the bottom of the tab, select the Show processes from all users check box.

5. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Yes.

6. To sort the processes by memory usage, click the Memory (Private Working Set) column header.

7. Determine if you can end any of the memory-intensive processes.

8. To end a process, click the process name, and then click End Process.

9. Click End Process to confirm that you want to end the process.

If you cannot free up memory by using Task Manager, or if this issue still occurs after you try to free up memory, restart the RD Session Host server.

Resolution steps for the following event ID:111

Remote Desktop IP Virtualization running in per session mode allows only one network adapter enabled on the RD Session Host server. To resolve this issue, you must disable additional network adapters that are installed on the RD Session Host server.

To perform these procedures, you must have membership in the local Administrators group, or you must have been delegated the appropriate authority.

To disable additional network adapters:

1. On the RD Session Host server, click Start, and then click Control Panel.

2. Click Network and Internet, and then click View network status and tasks.

3. Click Change adapter settings.

4. Right-click the network adapter to be disabled, and then click Disabled.

Element properties:

TargetMicrosoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDSessionHost
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLogManualReset3StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Remote Desktop IP Virtualization Availability Alert
Event ID: {0} -- Description: {1}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.10.0.RemoteDesktopServices.NewUnitMonitor_16" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.10.0.RemoteDesktopServicesRole.Service.RDSessionHost" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.2SingleEventLogManualReset3StateMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.10.0.RemoteDesktopServices.NewUnitMonitor_16_AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/Context/EventDescription$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId7b17e61e9d5e46819d9f555c98acfe84" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId3e3543ae930342bf9736b44341c93aa2" MonitorTypeStateID="SecondEventRaised" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId7f29dcb6d56a4136bc65f9254020c62c" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Microsoft-Windows-TerminalServices-TSAppSrv-TSVIP/Admin</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Channel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-TSAppSrv-TSVIP/Admin</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">118</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">114</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">102</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Microsoft-Windows-TerminalServices-TSAppSrv-TSVIP/Admin</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Channel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-TSAppSrv-TSVIP/Admin</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">113</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">111</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>