RDS 故障排除

远程桌面服务 RDS · 第 10 篇 · 适用于 Windows Server 2019 / 2022 / 2025

📑 目录

  1. 常见连接问题
  2. 授权问题排查
  3. 会话问题诊断
  4. 性能问题排查
  5. 常见问题

1. 常见连接问题

1

确认网络连通性:在客户端运行命令提示符cmd.exe)→ 输入 ping RDS01.iehang.cn,确认可 ping 通

2

检查 RDP 端口:在客户端运行 telnet RDS01.iehang.cn 3389,确认连接成功(出现黑屏为正常)

3

检查 TermService 服务:在 RDS01 服务器打开服务管理器services.msc)→ 找到"远程桌面服务" → 确认状态为"正在运行",启动类型为"自动"

4

查看事件日志:打开"事件查看器"(eventvwr.msc)→ Windows 日志 → 系统 → 筛选 Event ID 7023(服务错误)、7024(授权错误)

5

尝试重新连接:关闭 RDP 窗口后重新打开 mstsc.exe,清除凭据缓存("显示选项" → "删除凭据")后重新连接

PowerShell - 连接诊断
# 检查 TermService 服务状态
Get-Service TermService | Select-Object Name, Status, StartType

# 检查 RDP 端口是否监听
Get-NetTCPConnection -LocalPort 3389

# 查看 RDS 相关事件日志
Get-WinEvent -FilterHashtable @{LogName='System'; ID=7023,7024} -MaxEvents 10 |
    Select-Object TimeCreated, Message

2. 授权问题排查

1

如果连接报"因为计算机数量已达到许可证限制,您无法连接",打开远程桌面授权管理器licmgr.exe)→ 查看已颁发的 CAL 数量

2

点击"所有任务" → "显示授予的许可证" → 查看每个用户/设备获得的 CAL 类型和数量

3

检查许可证服务器激活状态:打开授权管理器 → 右键服务器 → "激活服务器",确认状态显示"已激活"

4

如果 CAL 不足:联系微软或授权经销商采购额外 CAL → 在授权管理器中安装新的许可证密钥包

PowerShell - 授权诊断
# 检查 CAL 发放情况
Get-RDLicenseConfiguration -ConnectionBroker "RDS01.iehang.cn" |
    Select-Object LicenseType, IssuedLicenses, TotalLicenses, Status

# 查看过期或待激活的 CAL
Get-RDLicenseConfiguration -ConnectionBroker "RDS01.iehang.cn" -Detailed |
    Select-Object LicenseType, GracePeriodUsed

3. 会话问题诊断

1

查看当前会话列表:在 RDS01 服务器打开服务器管理器 → "远程桌面服务" → 选择集合 → "会话"选项卡

2

查看所有用户会话:点击"会话"列表,查看用户名、状态(活动/断开/已连接)、RDS01 服务器名称

3

断开或注销会话:右键用户会话 → 选择"断开连接"(保留会话,用户可重新连接)或"注销"(完全关闭会话)

4

对于卡死的会话:通过 PowerShell 查询并强制注销:qwinsta /server:RDS01.iehang.cn 查看,logoff /server:RDS01.iehang.cn <session_id> 注销

PowerShell - 会话诊断
# 查看所有 RDS 会话
Get-RDSession -ConnectionBroker "RDS01.iehang.cn" |
    Select-Object HostServer, UserAccount, SessionState, SessionId

# 强制注销指定会话
Invoke-RDUserLogoff -ConnectionBroker "RDS01.iehang.cn" `
    -SessionId 3 -Force

# 查看会话详细信息
Get-RDSession -ConnectionBroker "RDS01.iehang.cn" -Expand

4. 性能问题排查

PowerShell - RDS 性能监控
# 查看 CPU 和内存使用
Get-Counter -Counter "\Processor(_Total)\% Processor Time" |
    Select-Object Timestamp, @{N="CPU";E={$_.CounterSamples[0].CookedValue}}

# 查看每个用户的资源使用
Get-RDSession -ConnectionBroker "RDS01.iehang.cn" |
    Select-Object UserAccount, SessionId, HostServer

# 查看打开的文件和会话数
Get-RDSessionCollectionSummary -ConnectionBroker "RDS01.iehang.cn"

5. 常见问题

Q1:用户无法连接到 RDS

检查授权服务器是否激活、CAL 是否充足、RD 网关证书是否有效、防火墙规则是否正确。

Q2:会话断开后无法重新连接

检查会话超时设置和断开策略,用户可能被注销,检查 Set-RDSessionCollectionConfiguration

Q3:性能监控工具

使用 Get-RDSessionCollectionSummary 查看会话汇总,性能监视器 Remote Desktop Services 类别监控资源使用。