远程桌面会话主机侦听器可用性

UIGeneratedMonitor0861f0a3d015499787f644d39c59c064 (UnitMonitor)

此对象监视远程桌面会话主机侦听器的可用性。

Knowledge Base article:

摘要

侦听器组件在 RD 会话主机服务器上运行,并且负责侦听和接受新的远程桌面协议 (RDP) 客户端连接,从而允许用户在 RD 会话主机服务器上建立新的远程会话。 RD 会话主机服务器上存在的每个远程桌面服务连接都有一个监听器。 可以使用远程桌面会话主机配置工具创建和配置连接。

解决方案

若要解决此问题,请检查事件 ID,然后在下面的内容中查看有关该事件的疑难解答信息。


适用于下列事件 ID 的解决步骤: 1035

若要解决此问题,请尝试在 RD 会话主机服务器上重新启动侦听器。 如果重新启动侦听器失败,请尝试增加 RD 会话主机服务器上的可用系统资源,如内存。

若要执行这些任务,请参考以下各节。

重新启动侦听器

若要重新启动侦听器,请在 RD 会话主机服务器上使用以下任一方法。

若要执行这些过程,您必须拥有本地 Administrators 组成员身份,或者您必须被委派了适当的权限。

方法一

若要停止再启动“远程桌面服务”服务,请执行以下操作:

1. 在 RD 会话主机服务器上,打开“服务”管理单元。若要打开“服务”管理单元,请单击“开始”,指向“管理工具”,然后单击“服务”。

2. 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“是”

3. 在“服务”窗格中,右键单击“远程桌面服务”,然后单击“重新启动”

4. 如果系统提示您重新启动其他服务,请单击“是”

5. 确认“远程桌面服务”服务的“状态”列显示“已启动”。

方法二

若要禁用和启用远程连接,请执行以下操作:

1. 在 RD 会话主机服务器上,启动“系统”工具。 若要启动“系统”工具,请单击“开始”,再单击“运行”,键入 control system,然后单击“确定”

2. 在“任务”下,单击“远程设置”

3. 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“是”

4. 在“系统属性”对话框的“远程”选项卡上,选择“不允许连接到此计算机”选项,然后单击“应用”

5. 在“系统属性”对话框中,根据您的环境选择下列选项之一:

允许运行任意版本远程桌面的计算机连接(较不安全)

只允许运行带网络级身份验证的远程桌面的计算机连接(更安全)

有关这两个选项的详细信息,请单击“帮助我选择”

6. 单击“确定”关闭“系统属性”对话框。

增加可用的系统资源

增加可用内存量的一种方法是确定 RD 会话主机服务器上是否运行有任何可以关闭的程序或进程。 使用任务管理器来确定使用内存最多的进程,并结束这些进程。

若要执行此过程,您必须拥有本地 Administrators 组成员身份,或者您必须被委派了适当的权限。

若要使用任务管理器在 RD 会话主机服务器上释放内存,请执行以下操作:

1. 在 RD 会话主机服务器上,右键单击任务栏的空白区域,然后单击“启动任务管理器”

2. 单击“进程”选项卡。

3. 确保显示“用户名”和“内存(专用工作集)”列。 如果未显示这两列,请在“查看”菜单上单击“选择列”,选中“用户名”和“内存(专用工作集)”复选框,然后单击“确定”

4. 在选项卡底部,选中“显示所有用户的进程”复选框。

5. 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“是”

6. 若要按内存使用对进程进行排序,请单击“内存(专用工作集)”列标题。

7. 确定是否可以结束任何占用大量内存的进程。

8. 若要结束进程,请单击相应的进程名称,然后单击“结束进程”

9. 单击“结束进程”以确认要结束该进程。

如果无法使用任务管理器释放内存,或如果在尝试释放内存后此问题仍出现,请重新启动 RD 会话主机服务器。

适用于下列事件 ID 的解决步骤: 1036

此问题可能表示 RD 会话主机服务器上有另一个应用程序与远程桌面协议 (RDP) 使用相同的 TCP 端口。 分配给 RDP 的默认端口是 3389。

若要解决此问题,请确定与 RDP 使用相同端口的应用程序。 如果无法更改该应用程序的端口分配,请通过编辑注册表更改分配给 RDP 的端口。 在编辑注册表后,必须重新启动“远程桌面服务”服务。 在重新启动“远程桌面服务”服务后,您应确认已正确更改 RDP 端口。

若要执行这些任务,请参考以下各节。

确定与 RDP 使用相同端口的应用程序

可以运行 netstat 工具来确定 RD 会话主机服务器上是否还有另一个应用程序正在使用端口 3389(或分配的 RDP 端口)。

若要使用 netstat,请执行以下操作:

1. 在 RD 会话主机服务器上,单击“开始”,再单击“运行”,键入 cmd,然后单击“确定”

2. 在命令提示符处,键入 netstat -a -o,然后按 Enter。

3. 查找状态为“Listening”的 TCP 端口 3389(或分配的 RDP 端口)条目。 这表明另一个应用程序正在使用此端口。 正在使用此端口的进程或服务的 PID(进程标识符)将显示在 PID 列下。

若要确定正在使用端口 3389(或分配的 RDP 端口)的应用程序,请使用 tasklist 命令行工具和从 netstat 工具获得的 PID 信息。

1. 在 RD 会话主机服务器上,单击“开始”,再单击“运行”,键入 cmd,然后单击“确定”

2. 键入 tasklist /svc,然后按 Enter。

3. 查找与此端口关联的 PID 号条目(从 netstat 输出中获得)。 窗口右侧将显示与该 PID 关联的服务或进程。

更改分配给 RDP 的端口

您应确定此应用程序是否可以使用另一个端口。 如果无法更改此应用程序的端口,则必须更改分配给 RDP 的端口。

重要说明: Microsoft 建议不要更改分配给 RDP 的端口。

如果必须更改分配给 RDP 的端口,则您必须编辑注册表。

若要执行此过程,您必须拥有本地 Administrators 组成员身份,或者您必须被委派了适当的权限。

若要更改分配给 RDP 的端口,请执行以下操作:

警告: 注册表编辑不当可能会严重损坏系统。 更改注册表之前,您应备份任何有价值的数据。

1. 在 RD 会话主机服务器上,打开注册表编辑器。 若要打开注册表编辑器,请单击“开始”,再单击“运行”,键入 regedit,然后单击“确定”

2. 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“是”

3. 找到并单击以下注册表子项:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations

注意: RDP-TCP 为默认连接名称。 若要更改 RD 会话主机服务器上的特定连接的端口,请选择 WinStations 注册表项下的连接。

4. 在右窗格中,双击“PortNumber”注册表项。

5. 在“数值数据”框中键入要分配给 RDP 的端口号。 请以十六进制值的形式输入“PortNumber”

6. 单击“确定”以保存更改,然后关闭注册表编辑器。

重新启动“远程桌面服务”服务

若要使 RDP 端口的分配更改生效,请停止再启动“远程桌面服务”服务。

若要执行此过程,您必须拥有本地 Administrators 组成员身份,或者您必须被委派了适当的权限。

若要停止再启动“远程桌面服务”服务,请执行以下操作:

1. 在 RD 会话主机服务器上,打开“服务”管理单元。若要打开“服务”管理单元,请单击“开始”,指向“管理工具”,然后单击“服务”。

2. 如果出现“用户帐户控制”对话框,请确认它显示的是所需操作,然后单击“是”

3. 在“服务”窗格中,右键单击“远程桌面服务”,然后单击“重新启动”

4. 如果系统提示您重新启动其他服务,请单击“是”

5. 确认“远程桌面服务”服务的“状态”列显示“已启动”。

确认 RDP 端口已更改

若要确认 RDP 端口分配已更改,请使用 netstat 工具。

若要使用 netstat,请执行以下操作:

1. 在 RD 会话主机服务器上,单击“开始”,再单击“运行”,键入 cmd,然后单击“确定”

2. 在命令提示符处,键入 netstat -a,然后按 Enter。

3. 查找分配给 RDP 的端口号条目。 该端口应显示在列表中并且状态为“Listening”

适用于以下事件 ID 的解决步骤: 1066

通常可以忽略此问题。

适用于下列事件 ID 的解决步骤: 1132

若要解决此问题,您必须安装远程桌面会话主机角色服务。

若要执行此过程,您必须拥有本地 Administrators 组成员身份,或者您必须被委派了适当的权限。

若要安装远程桌面会话主机角色服务,请执行以下操作:

1. 打开服务器管理器。 若要打开服务器管理器,请单击“开始”,指向“管理工具”,然后单击“服务器管理器”

2. 在“角色摘要”下,单击“添加角色”

3. 在“添加角色向导”的“开始之前”页上,单击“下一步”

4. 在“选择服务器角色”页上,选中“远程桌面服务”复选框,然后单击“下一步”

5. 在“远程桌面服务”页上,单击“下一步”

6. 在“选择角色服务”页上,选中“远程桌面会话主机”复选框,然后单击“下一步”

7. 在“卸载并重新安装兼容的应用程序”页上,单击“下一步”

8. 在“指定远程桌面会话主机的身份验证”页上,单击“需要使用网络级别身份验证”,然后单击“下一步”

9. 在“指定授权”页上,选择相应的选项,然后单击“下一步”

10. 在“选择允许访问此远程桌面会话主机服务器的用户组”页上,单击“下一步”

11. 在“配置客户端体验”页上,选择相应的选项,然后单击“下一步”

12. 在“确认安装选择”页上,确保将安装 RD 会话主机角色服务,然后单击“安装”

13. 在“安装结果”页上,系统将提示您重新启动服务器以完成安装过程。 单击“关闭”,然后单击“是”以重新启动服务器。

14. 服务器重新启动后,通过与安装远程桌面会话主机角色服务相同的用户帐户登录到计算机,确认 RD 会话主机角色服务安装成功,然后单击“关闭”关闭 RD 会话主机配置窗口。

Element properties:

TargetMicrosoft.Windows.Server.2008R2.RemoteDesktopServicesRole.Service.RDSessionHost
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.SingleEventLogManualReset2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
远程桌面会话主机侦听器可用性警报
事件 ID: {0} -- 描述: {1}
RunAsDefault

Source Code:

<UnitMonitor ID="UIGeneratedMonitor0861f0a3d015499787f644d39c59c064" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.2008R2.RemoteDesktopServicesRole.Service.RDSessionHost" ParentMonitorID="SystemHealth!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Windows!Microsoft.Windows.SingleEventLogManualReset2StateMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="UIGeneratedMonitor0861f0a3d015499787f644d39c59c064_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/EventDisplayNumber$</AlertParameter1>
<AlertParameter2>$Data/Context/EventDescription$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="UIGeneratedOpStateId3ce5ff85bf5f487aaf2f12acd93a3381" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateIdcf85de4df8db46d495fede817752afef" MonitorTypeStateID="EventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>System</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-RemoteConnectionManager</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1132</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1066</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1035</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1036</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</Expression>
</Configuration>
</UnitMonitor>