RD 网关服务器可用性

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

此对象监视远程桌面网关服务器的可用性。

Knowledge Base article:

摘要

远程桌面网关(RD 网关)服务器必须在网络上可用,同时必须在 RD 网关服务器上运行相应的服务。 远程桌面连接授权策略 (RD CAP) 和远程桌面资源授权策略 (RD RAP) 存储必须同样可用,以便评估这些策略来决定远程客户端是否满足策略要求。 RD CAP 指定可以连接到 RD 网关服务器的用户。 RD RAP 指定客户端可通过 RD 网关服务器连接的内部网络资源(计算机)。 如果 RD CAP 和 RD RAP 不可用,则 RD 网关服务器不可用于客户端连接。

解决方案

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


适用于下列事件 ID 的解决步骤: 642, 643

若要解决此问题,请对 rap.xml 文件授予必需的权限。 如果对 rap.xml 文件授予必需的权限无法解决问题,请重命名 rap.xml 文件,然后启动远程桌面网关管理器管理单元控制台。

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

对 rap.xml 文件授予必需的权限

若要对 rap.xml 文件授予必需的权限,请执行以下操作:

1. 在 RD 网关服务器上,导航到 %windir%\System32\tsgateway\rap.xml,其中 %windir% 是用于安装操作系统的驱动器。

2. 右键单击 rap.xml

3. 在“rap.xml 属性”对话框中,单击“安全”选项卡。

4. 单击“编辑”,然后执行以下操作:

5. 在“Rap 的权限”对话框中的“组或用户名”下,单击“SYSTEM”。 在“SYSTEM 的权限”下,如果“完全控制”不可用,请选中“完全控制”旁边的“允许”复选框。

6. 在“组或用户名”下,单击“Administrators”。 在“Administrators 的权限”下,如果“完全控制”不可用,请选中“完全控制”旁边的“允许”复选框。

7. 在“组或用户名”下,单击“Users”。 在“Users 的权限”下,如果“读取和执行”以及“读取”不可用,请选中这两种权限旁边的“允许”复选框。

8. 在“组或用户名”下,单击“Network Service”。 在“Network Service 的权限”下,如果“读取”不可用,请选中“读取”旁边的“允许”复选框。

9. 单击“确定”

重命名 rap.xml 文件并启动远程桌面网关管理器

如果对 rap.xml 授予必需的权限不能解决此问题,请尝试将 rap.xml 重命名为 rapbak.xml,然后启动远程桌面网关管理器。 启动控制台将创建新的 rap.xml 文件。

若要重命名 rap.xml 文件,请执行以下操作:

1. 在 RD 网关服务器上,导航到 %windir%\System32\tsgateway\rap.xml,其中 %windir% 是用于安装操作系统的驱动器。

2. 右键单击 rap.xml,键入 rapbak.xml,然后按 Enter。

注意: 重命名 rap.xml 并重新启动远程桌面网关管理器后,在打开控制台时将不会显示任何远程桌面资源授权策略 (RD RAP)(若要确认未显示 RD RAP,请打开远程桌面网关管理器,单击以展开代表 RD 网关服务器的节点,展开“策略”,然后单击“资源授权策略”)。

若要启动远程桌面网关管理器,请执行以下操作:

在 RD 网关服务器上,单击“开始”,指向“管理工具”,再指向“远程桌面服务”,然后单击“远程桌面网关管理器”

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

此错误可能由下列情况之一引起:

RD 网关所需的服务没有启动

使用以下过程确定 RD 网关所需的服务是否已启动。

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

若要确定网络策略服务器服务是否已启动,请执行以下操作:

1. 在 RD 网关服务器上,单击“开始”,指向“管理工具”,然后单击“服务”

2. 在“服务”管理单元中,找到“Network Policy Server”,然后确认“状态”列显示“已启动”

3. 如果服务状态未显示为“已启动”,请参阅“重新启动远程桌面网关服务”一节。

若要确定远程过程调用 (RPC) 服务是否已启动,请执行以下操作:

1. 在 RD 网关服务器上,单击“开始”,指向“管理工具”,然后单击“服务”

2. 在“服务”管理单元中,找到“远程过程调用(RPC)”,然后确认“状态”列显示“已启动”

3. 如果服务状态未显示为“已启动”,请参阅“重新启动远程桌面网关服务”一节。

若要确定 RPC/HTTP 负载平衡服务是否已启动,请执行以下操作:

1. 在 RD 网关服务器上,单击“开始”,指向“管理工具”,然后单击“服务”

2. 在“服务”管理单元中,找到“RPC/HTTP 负载平衡服务”,然后确认“状态”列显示“已启动”

3. 如果服务状态未显示为“已启动”,请参阅“重新启动远程桌面网关服务”一节。

若要确定万维网发布服务是否已启动,请执行以下操作:

1. 在 RD 网关服务器上,单击“开始”,指向“管理工具”,然后单击“服务”

2. 在“服务”管理单元中,找到“万维网发布服务”,然后确认“状态”列显示“已启动”

3. 如果服务状态未显示为“已启动”,请参阅“重新启动远程桌面网关服务”一节。

NPS 服务器或 Web 服务器 (IIS) 存在问题

RD 网关依靠 NPS 服务器来存储、管理和验证远程桌面连接授权策略 (RD CAP)。 RD 网关依靠 Web 服务器 (IIS) 来执行客户端和 RD 网关服务器相互身份验证。 NPS 服务器或 Web 服务器 (IIS) 存在问题会影响 RD 网关的正常运行以及在客户端连接中的可用性。

您无需拥有本地 Administrators 组的成员身份即可执行本过程。 因此,作为安全方面的最佳做法,请考虑以没有管理凭据的用户身份执行该任务。

搜索事件日志以查找 NPS 事件

若要搜索事件日志以查找 NPS 事件,请执行以下操作:

1. 在 RD 网关服务器或中央 NPS 服务器上,单击“开始”,指向“管理工具”,然后单击“事件查看器”

2. 在事件查看器控制台树中,导航到“Windows 日志”\“应用程序”,然后搜索包含单词 NPS 的事件。 如果找到任何 NPS 事件,请记下相关事件的事件 ID 和来源以供进一步的调查。

3. 导航到“Windows 日志”\“系统”,然后搜索包含单词 NPS 的事件。 如果找到任何 NPS 事件,请记下相关事件的事件 ID 和来源以供进一步的调查。

4. 若您仍在查看“Windows 日志”\“系统”事件日志,请筛选当前日志以搜索任何 NPS 事件。 例如,可以选中“NPS”复选框。

5. 如果找到与选定事件来源对应的任何事件,请记下相关事件的事件 ID 和来源以供进一步的调查,然后参阅“查看网络策略服务器 (NPS) 和 Web 服务器 (IIS) 文档”一节。

搜索事件日志以查找 IIS 事件

若要搜索事件日志以查找 IIS 事件,请执行以下操作:

1. 在 RD 网关服务器上,单击“开始”,指向“管理工具”,然后单击“事件查看器”

2. 在事件查看器控制台树中,导航到“Windows 日志”\“应用程序”,然后搜索包含单词 IIS 的事件。 若要搜索这些事件,请在“操作”窗格中,单击“查找”,在“查找”对话框中,键入 IIS,然后单击“查找下一个”。 如果找到任何 IIS 事件,请记下相关事件的事件 ID 和来源以供进一步的调查。

3. 若您仍在查看“Windows 日志”\“应用程序”事件日志,还可以筛选当前日志以搜索任何 IIS 事件。 若要筛选当前日志,请在“操作”窗格中,单击“筛选当前日志”。 在“事件来源”中,单击向下箭头以显示事件来源列表。 选中与包含单词 IIS 的任何事件(例如,IIS-IISManage、IISInfoCtrs、IIS-W3SVC-PerfCounters 和 IIS-W3SVC-WP)对应的复选框,然后单击“确定”。 如果存在与所选事件来源对应的任何事件,将在结果窗格中显示这些事件。 请记下相关事件的事件 ID 和来源以供进一步的调查。

4. 导航到“Windows 日志”\“系统”,然后搜索包含单词 IIS 的事件。 如果找到任何 IIS 事件,请记下相关事件的事件 ID 和来源以供进一步的调查。

5. 若您仍在查看“Windows 日志”\“应用程序”事件日志,请筛选当前日志以搜索任何 IIS 事件。 此事件日志中的 IIS 事件来源包括: IIS Config、IIS-APPHOSTSVC、IIS-IisMetabaseAudit、IIS-IISReset、IISLOG 和 IIS-W3SVC。

6. 如果找到与选定事件来源对应的任何事件,请记下相关事件的事件 ID 和来源以供进一步的调查,然后参阅“查看网络策略服务器 (NPS) 和 Web 服务器 (IIS) 文档”一节。

适用于下列事件 ID 的解决步骤: 641, 640

若要解决此问题,请确保网络策略服务器服务已启动。

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

如果已配置本地远程桌面连接授权策略 (RD CAP),请在 RD 网关服务器上执行以下过程。 如果已配置中央 RD CAP(存储在另一台运行网络策略服务器服务的计算机上的 RD CAP),请在存储中央 RD CAP 的 NPS 服务器上执行以下过程。

若要确保网络策略服务器服务已启动,请执行以下操作:

1. 在存储中央 RD CAP 的 RD 网关服务器或 NPS 服务器上,单击“开始”,指向“管理工具”,然后单击“服务”

2. 在“服务”管理单元中,找到“Network Policy Server”,然后确认“状态”列显示“已启动”

3. 如果状态未显示为“已启动”,请右键单击“Network Policy Server”,然后单击“启动”

4. 如果尝试仅启动该服务失败,请重新启动计算机。 这将强制重新启动所有相关服务和从属服务。

5. 如果要使该服务总是在服务器重新启动之后自动启动,请右键单击“Network Policy Server”,单击“属性”,在“启动类型”中选择“自动”,然后单击“确定”

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

若要解决此问题,请重新启动远程桌面网关服务。 在重新启动远程桌面网关服务的同时会重新启动所有依赖服务。

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

若要重新启动远程桌面网关服务,请执行以下操作:

1. 在 RD 网关服务器上,单击“开始”,指向“管理工具”,然后单击“服务”。 在“服务”管理单元的“Name”列中,右键单击“远程桌面网关”,然后单击“重新启动”

2. 如果仅重新启动该服务的尝试失败,请重新启动计算机。 这将强制重新启动所有相关服务和从属服务。

若要使该服务总是在服务器重新启动之后自动启动,请在“服务”管理单元的“Name”列中,右键单击“远程桌面网关”,单击“属性”,并在“启动类型”中选择“自动”,然后单击“确定”

Element properties:

TargetMicrosoft.Windows.Server.2008R2.RemoteDesktopServicesRole.Service.RDGateway
Parent MonitorSystem.Health.AvailabilityState
CategoryCustom
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLogManualReset3StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
RD 网关服务器可用性警报
事件 ID: {0} -- 描述: {1}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.Windows.Server.RemoteDesktopServices.2008R2.NewUnitMonitor_6" Accessibility="Public" Enabled="true" Target="Microsoft.Windows.Server.2008R2.RemoteDesktopServicesRole.Service.RDGateway" 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_6_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="UIGeneratedOpStateId127ff0c02b6643bab4409f757efed442" MonitorTypeStateID="ManualResetEventRaised" HealthState="Success"/>
<OperationalState ID="UIGeneratedOpStateId1afb79b8448c435d8329469d5f001577" MonitorTypeStateID="SecondEventRaised" HealthState="Warning"/>
<OperationalState ID="UIGeneratedOpStateIda7221ed13e63477eb9f19a9b24d976af" MonitorTypeStateID="FirstEventRaised" HealthState="Error"/>
</OperationalStates>
<Configuration>
<FirstComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</FirstComputerName>
<FirstLogName>Microsoft-Windows-TerminalServices-Gateway/Operational</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Channel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-Gateway/Operational</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">100</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">400</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">640</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">641</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">642</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">643</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</SecondComputerName>
<SecondLogName>Microsoft-Windows-TerminalServices-Gateway/Admin</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">700</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Channel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-TerminalServices-Gateway/Admin</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>