windows远程桌面登录日志可通过系统安全事件日志(事件id 4624/4625,推荐启用审核策略)或自定义批处理+vbs脚本记录ip与时间;修改端口需同步更新注册表两处portnumber并重启服务;企业级场景建议使用向日葵等专业工具实现全维度审计与录屏。
windows 系统自带的远程桌面(rdp)默认不记录详细登录日志,但可通过系统日志和自定义脚本两种方式实现有效追踪。关键在于区分“系统级审计日志”(原生日志,推荐优先启用)和“自定义连接日志”(含ip、时间等,需手动配置)。
启用系统安全事件日志(最可靠)
这是微软官方支持的方式,无需第三方工具,所有登录成功/失败都会自动记录在 Windows 事件查看器中:
- 按 Win + R,输入 eventvwr.msc 打开事件查看器
- 依次展开:【Windows 日志】→【安全】
- 筛选事件ID:4624(登录成功)、4625(登录失败)
- 右键某条记录 → 【属性】→ 查看【详细信息】页签,可确认登录类型为“10”(远程交互式登录),并提取源IP地址(字段名为 IpAddress)
- 如需长期留存或集中分析,可在组策略中启用“审核登录事件”:打开 gpedit.msc → 计算机配置 → Windows 设置 → 安全设置 → 本地策略 → 审核策略 → 启用“审核登录事件”(成功+失败)
添加自定义登录日志(记录IP+时间到文本文件)
适用于需要简单文本存档、或系统审计日志被禁用的场景。注意:该方法依赖用户登录时自动运行脚本,需配合终端服务配置:
- 在 C:\RDP\ 建立目录(如不存在),并在其中创建空文件 RDPlog.txt
- 新建批处理文件 RDPlog.bat,内容如下:
@echo off echo ==================== >> C:\RDP\RDPlog.txt date /t >> C:\RDP\RDPlog.txt time /t >> C:\RDP\RDPlog.txt netstat -n -p tcp | findstr ":3389" | findstr "ESTABLISHED" >> C:\RDP\RDPlog.txt
- 为避免黑窗口弹出,再建一个 RDPLog.vbs 文件,内容为:
Set shell = WScript.CreateObject("WScript.Shell")
shell.Run "C:\RDP\RDPlog.bat", 0, False
- 打开【管理工具】→【终端服务器配置】→ 右键【RDP-Tcp】→ 属性 → 【环境】页 → 勾选“用户登录时启用下列程序”,填写:
程序路径和文件名:wscript C:\RDP\RDPLog.vbs
起始于:C:\RDP\
修改默认端口提升安全性(辅助日志有效性)
若已将远程端口从 3389 改为其他值(如 8888),上述 netstat 命令中的 :3389 需同步改为新端口号,否则无法捕获连接;同时注册表两处必须一致修改:
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp → 修改 PortNumber(十进制)
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp → 同样修改 PortNumber
- 改完重启远程桌面服务(或重启系统),客户端连接时需用 IP:端口 格式,如 192.168.1.100:8888
替代方案:使用专业远控工具(省心且功能完整)
如企业环境需操作录屏、多维度审计、权限分级等,建议采用带原生日志能力的工具,例如向日葵:
- 登录向日葵管理后台 → 进入【远控日志】或【审计日志】页面
- 每条记录含:开始/结束时间、连接时长、控制端账号、被控设备名、IP、操作类型
- 开启“操作录屏”后,全过程视频自动上传云端,支持按时间、设备、人员快速检索
- 无需额外配置注册表或批处理,日志默认开启、不可绕过











