远程桌面会话主机连接

Microsoft.Windows.Server.RemoteDesktopServices.2008R2.NewUnitMonitor_20 (UnitMonitor)

此对象监视到远程桌面会话主机服务器的连接。

Knowledge Base article:

摘要

用户可以连接到一个 RD 会话主机服务器以运行程序、保存文件并使用该服务器上的网络资源。 当用户与会话断开连接时,此会话中运行的所有进程(包括应用程序)将继续在 RD 会话主机服务器上运行。

可以将 RD 会话主机服务器上的用户登录模式配置为阻止在 RD 会话主机服务器上创建新的用户会话。 在计划使 RD 会话主机服务器脱机以进行维护或安装新的应用程序时,可能需要阻止在 RD 会话主机服务器上创建新的用户会话。

解决方案

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


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

若要解决此问题,请在 RD 会话主机服务器上指定一个远程桌面许可证服务器。

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

若要指定远程桌面许可证服务器,请执行以下操作:

1. 在 RD 会话主机服务器上,打开“远程桌面会话主机配置”。 若要打开“远程桌面会话主机配置”,请单击“开始”,依次指向“管理工具”、“远程桌面服务”,然后单击“远程桌面会话主机配置”

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

3. 在“授权”下,双击“远程桌面许可证服务器”

4. 在“远程桌面许可证服务器”区域中,单击“添加”

5. 在“许可证服务器名称或 IP 地址”框中,键入远程桌面许可证服务器的服务器名称或 IP 地址。

6. 单击“确定”,然后再次单击“确定”

注意: 您也可以使用组策略在 RD 会话主机服务器上指定远程桌面许可证服务器。

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


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

若要解决此问题,请通过执行以下操作来确定并修复 RD 会话主机服务器和 Active Directory 域控制器之间存在的任何网络连接问题:

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

注意: 下列过程包含有关使用 ping 命令进行故障排除的步骤。 因此,在执行这些步骤之前,请先检查网络上的防火墙或 Internet 协议安全 (IPsec) 设置是否允许使用 Internet 控制消息协议 (ICMP) 进行通信。 ICMP 是由 ping 命令使用的 TCP/IP 协议。

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

确定是否存在网络连接问题

若要确定 RD 会话主机服务器和域控制器之间是否存在网络连接问题,请执行以下操作:

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

2. 在命令提示符处,键入 ping server_FQDN,其中 server_FQDN 是域控制器的完全限定的域名 (FQDN)(例如,server1.contoso.com),然后按 Enter。

如果此 ping 命令成功,您将收到类似于以下内容的答复:

来自 IP 地址的回复: 字节=32 时间=3ms TTL=59

来自 IP 地址的回复: 字节=32 时间=20ms TTL=59

来自 IP 地址的回复: 字节=32 时间=3ms TTL=59

来自 IP 地址的回复: 字节=32 时间=6ms TTL=59

3. 在命令提示符处,键入 ping IP_address(其中,IP_address 是域控制器的 IP 地址),然后按 Enter。

如果可以通过 IP 地址对域控制器成功进行 ping 操作,但无法通过 FQDN 对域控制器成功进行 ping 操作,则表明 DNS 主机名解析可能存在问题。

如果无法通过 IP 地址对域控制器成功进行 ping 操作,则表明网络连接、防火墙配置或 IPsec 配置可能存在问题。

执行其他故障排除步骤

以下是一些额外的故障排除步骤,通过执行这些步骤可帮助您确定问题的根本原因:

1. 单击“开始”,再单击“运行”,键入 cmd,然后单击“确定”

2. 在命令提示符处,键入 ipconfig /all,然后按 Enter。 确保列出的信息准确。

3. 键入 ping localhost 以验证本地计算机上是否已安装并正确配置 TCP/IP。 如果此 ping 操作失败,则可能表明 TCP/IP 堆栈已损坏或网络适配器出现问题。

4. 键入 ping IP_address,其中 IP_address 是分配给计算机的 IP 地址。 如果可以对本地主机地址进行 ping 操作,但不能对本地地址进行 ping 操作,则表明路由表或网络适配器驱动程序可能存在问题。

5. 键入 ping DNS_server,其中 DNS_server 是分配给 DNS 服务器的 IP 地址。 如果网络中有多台 DNS 服务器,则应对每台 DNS 服务器进行 ping 操作。 如果不能对 DNS 服务器进行 ping 操作,则表明 DNS 服务器可能存在问题,或者计算机与 DNS 服务器之间的网络可能存在问题。

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

若要解决此问题,请使用 chglogon 命令行工具将 RD 会话主机服务器配置为允许连接。

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

若要允许连接,请执行以下操作:

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


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

若要解决此问题,请使用远程桌面协议 (RDP) 客户端(如远程桌面连接)建立到 RD 会话主机服务器的新连接。

在出现临时网络中断后尝试重新建立与 RD 会话主机服务器的远程会话时,客户端计算机会尝试向 RD 会话主机服务器进行身份验证。 如果客户端计算机和 RD 会话主机服务器间传递的重新建立连接的信息损坏,则客户端计算机将无法重新建立远程会话。

如果在远程桌面连接客户端的“体验”选项卡上选中“如果连接中断,则重新连接”复选框,则远程桌面连接客户端将自动尝试重新连接与 RD 会话主机服务器的远程会话。

重要说明: 如果事件日志中有很多事件指示用户身份验证失败,则可能存在获取 RD 会话主机服务器访问权的恶意尝试。

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

若要检查哪些用户已连接到 RD 会话主机服务器,请执行以下操作:

1. 在 RD 会话主机服务器上,单击“开始”,指向“管理工具”,再指向“远程桌面服务”,然后单击“远程桌面服务管理器”

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

3. 在“用户”选项卡上,列出已连接到 RD 会话主机服务器的用户。 确保没有列出任何可疑的帐户。

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

若要解决此问题,请使用“远程桌面会话主机配置”将 RD 会话主机服务器配置为允许新用户登录。

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

若要允许新用户登录,请执行以下操作:

1. 在 RD 会话主机服务器上,打开“远程桌面会话主机配置”。 若要打开“远程桌面会话主机配置”,请单击“开始”,依次指向“管理工具”、“远程桌面服务”,然后单击“远程桌面会话主机配置”

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

3. 在“常规”下,双击“用户登录模式”

4. 在“用户登录模式”下,选择“允许所有连接”,然后单击“确定”

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

若要解决此问题,请手动注册 RD 会话主机服务器的服务主体名称 (SPN)。

注意: 远程桌面服务在每次启动计算机时都会尝试注册 SPN。 若要注册 SPN,RD 会话主机服务器必须能够联系 Active Directory 域控制器。 如果未注册 SPN,则 Kerberos 身份验证将无法用于客户端连接。 如果管理员尚未禁用 NTLM 身份验证,则可以使用该身份验证。

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

若要注册 SPN,请执行以下操作:

1. 在 RD 会话主机服务器上,打开命令提示符窗口。 若要打开命令提示符窗口,请单击“开始”,再单击“运行”,键入 cmd,然后单击“确定”

2. 在命令提示符处,键入 setspn -A hostServicePrincipalName(其中 host 是 RD 会话主机服务器的名称,ServicePrincipalName 是要注册的 SPN),然后按 Enter。

例如,若要为 Server1 注册 SPN,请在命令提示符处键入以下内容: setspn -A TERMSERV/Server1 Server1

注意: 在成功注册 SPN 后,您可能会看到仍然记录有事件 ID 1067,指出 RD 会话主机服务器无法注册 SPN。 此时可以忽略事件 ID 1067。

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.2SingleEventLogManualReset3StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
远程桌面会话主机连接警报
事件 ID: {0} -- 描述: {1}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.RemoteDesktopServices.2008R2.NewUnitMonitor_20" 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.2SingleEventLogManualReset3StateMonitorType" ConfirmDelivery="true">
<Category>Custom</Category>
<AlertSettings AlertMessage="Microsoft.Windows.Server.RemoteDesktopServices.2008R2.NewUnitMonitor_20_AlertMessageResourceID">
<AlertOnState>Warning</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="UIGeneratedOpStateId1717e973f5bc43ea8b8cb92dbcd63db3" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId6d11c430584b45d18075bd5f42731c70" MonitorTypeStateID="SecondEventRaised" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateId8685b8e0b87740938af4dba98404a0c7" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>System</FirstLogName>
<FirstExpression>
<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">1130</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1131</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1067</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>System</SecondLogName>
<SecondExpression>
<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">1041</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1070</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">1071</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>