WindowsServer查看远程桌面访问记录全攻略
在Windows Server 服务器运维中,查看远程桌面访问记录至关重要,它能助力管理员监控用户行为、排查安全隐患,为问题解决提供关键线索。
下面介绍多种查看方法。
一、事件查看器:直观的记录宝库
事件查看器是Windows系统自带工具,可查看各类系统事件,其中包含远程桌面访问记录。

1. 打开
按Win+R组合键,在运行对话框输入eventvwr.msc回车即可打开。
2. 定位日志
依次展开应用程序和服务日志→Microsoft→Windows→TerminalServices-RemoteConnectionManager,右键单击Operational选择筛选当前日志。
3. 筛选
输入事件ID1149,此ID对应远程桌面连接事件,点击确定就能看到连接历史记录,其中包含IP地址、计算机名、登录时间等信息。
4. 高级筛选
若想进一步筛选,可利用自定义筛选功能。
比如筛选特定用户或时间段记录,在筛选窗口选添加,通过下拉菜单选用户输入用户名,选时间生成设定时间范围即可。
二、注册表:系统底层追溯
注册表保存着远程桌面访问相关信息。
1. 打开
按Win+R组合键,输入regedit回车打开。
2. 查找位置
导航到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Terminal Server Client路径。Default键下能看到最近10次连接记录;展开Servers键,可获取服务器列表及登录用户名。操作注册表需谨慎,错误修改可能导致系统故障。
3. 备份与恢复
修改前建议备份。
选择要备份的键,右键点击选导出保存为.reg文件。若修改出问题,双击备份文件可恢复。
三、PowerShell:自动化查询利器
PowerShell脚本可高效查询远程桌面访问记录。
设置要查询的时间范围,这里设置为过去7天$StartTime = (Get-Date).AddDays(-7)获取安全日志中与远程桌面登录相关的事件$Events = Get-EventLog -LogName Security -After $StartTime | Where-Object {筛选出事件ID为4624(表示成功登录)且登录类型为10(远程桌面登录)的事件($_.EventID -eq4624) -and($_.Message -matchLogon Type: \s+(10)\s) }遍历事件并提取相关信息$Results =foreach($Event in $Events) { $Message = $Event.Message $TimeGenerated = $Event.TimeGenerated $ClientIP = $Message -replace(?smi).*Source Network Address: \s+((^\s)+)\s+.*,$1$Username = $Message -replace(?smi).* \s\sAccount Name: \s+((^\s)+)\s+.*,$1$UserDomain = $Message -replace(?smi).* \s\sAccount Domain: \s+((^\s)+)\s+.*,$1$LogonType = $Message -replace(?smi).*Logon Type: \s+((^\s)+)\s+.*,$1创建一个自定义对象来存储信息New-Object -Type PSObject -Property @{ TimeGenerated = $TimeGenerated ClientIP = $ClientIP Username ={0}\{1}-f $UserDomain, $Username LogonType =switch($LogonType) {2{Interactive - local logon}3{Network connection to shared folder}4{Batch}5{Service}7{Unlock (after screensaver)}8{Network cleartext}9{New credentials (local impersonation process under existing connection)}10{RDP}11{Cached interactive}default{"Log type not recognised: $LogonType"} } } }按照时间降序排序结果并输出$Results | Sort-Object -Property TimeGenerated -Descending | Select-Object -Property TimeGenerated, ClientIP, Username, LogonType1. 脚本优化
为增强灵活性,可将时间范围设为参数。
修改脚本开头:
param( [int]$DaysBack =7) $StartTime = (Get-Date).AddDays(-$DaysBack)运行脚本时,可通过命令行传入天数参数,如 .\script.ps1 -DaysBack 14 查询过去14天记录。
2. 多样化输出
除控制台输出,还可将结果导出为CSV文件以便分析存档。在脚本末尾添加:
$Results| Export-Csv -Path"C:\RemoteDesktopAccessRecords.csv"-NoTypeInformation四、第三方工具:功能扩展助手
借助第三方工具可增强查看和分析能力。
1. SolarWinds Server & Application Monitor
这是一款全面的服务器监控工具,能实时监控远程桌面连接,提供详细历史记录报表。安装配置后,在界面中可查看连接时长、次数、用户活动等指标,还能设置警报。
2. ManageEngine ADAudit Plus
主要用于活动目录审计,也具备强大的远程桌面访问记录查看功能。它能深入分析登录事件,提供用户行为分析报告,帮助管理员发现安全威胁,如暴力破解、异常登录时间等。
熟练掌握上述方法,能让管理员更高效地管理Windows Server服务器,维护系统安全稳定。