如何在Windows中清除RDP连接历史记录?

内置的Windows远程桌面连接(RDP)客户端(mstsc.exe)保存每次成功连接到远程计算机后的远程计算机名(或IP地址)和用于登录的用户名。在下一次启动时,RDP客户端向用户提供选择以前使用的连接之一的功能。用户可以从列表中选择RDS / RDP主机的名称,客户端将自动填写先前用于登录的用户名。

从最终用户的角度来看,这很方便,但是从安全角度来看是不安全的。特别是当您从公共或不受信任的计算机连接到RDP服务器时。

有关所有RDP(终端)会话的信息分别存储在每个用户的注册表配置单元中,即非管理员将无法查看另一个用户的RDP连接历史记录。

在本文中,我们将显示Windows在何处存储远程桌面连接的历史记录和保存的凭据,如何从mstsc窗口中删除条目以及清除RDP日志。

如何从注册表中删除RDP连接缓存?

有关所有RDP连接的信息存储在每个用户的注册表中。使用内置的Windows工具从RDP连接历史记录列表中删除一台或多台计算机是不可能的。您将必须手动清除一些注册表项。

  1. 运行注册表编辑器(regedit.exe)并浏览到注册表项HKEY_CURRENT_USER Software Microsoft Terminal Server Client ;
  2. 您在本节中需要两个注册表项:默认(存储最近10个RDP连接的历史记录)和服务器(包含所有用于登录的RDP服务器和用户名的列表);

3.展开注册表项HKEY_CURRENT_USER Software Microsoft Terminal Server Client Default,其中包含最近使用过的远程计算机(MRU –最近使用)的10个IP地址或DNS名称的列表。远程桌面服务器的名称(或IP地址)存储在MRU *的值中。参数。要清除最近的RDP连接的历史记录,请选择名称为MRU0-MRU9的所有参数,右键单击并选择Delete

4.现在,展开键HKEY_CURRENT_USER Software Microsoft Terminal Server Client Servers。它包含该用户曾经建立的所有RDP连接的列表。用任何主机的名称(或IP地址)展开reg键。请注意UsernameHint参数的值。它显示用于连接到RDP / RDS主机的用户名。该用户名将用于自动连接到RDP主机。另外,CertHash变量包含RDP服务器SSL证书指纹(请参阅文章“为RDP配置受信任的TLS / SSL证书”);

5.为了清除所有RDP连接和保存的用户名的历史记录,必须清除服务器注册表项的内容。由于不可能一次选择所有嵌套的注册表项,因此删除整个Servers项然后手动重新创建更为容易。

6.接下来,您需要删除默认的RDP连接文件(其中包含有关最新rdp会话的信息)– Default.rdp(此文件是位于Documents目录中的隐藏文件)。

7.Windows还将最近的远程桌面连接保存在跳转列表中。如果mstsc在Windows 10搜索框中键入,以前使用的RDP连接将出现在列表中。您可以使用reg键中的注册表dword参数Start_TrackDocsHKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerAdvanced(将其设置为0)来完全禁用Windows 10最新文件和跳转列表中的位置(或将其设置为0),也可以通过删除目录中的文件来清除“重新发送邮件”列表%AppData%MicrosoftWindowsRecentAutomaticDestinations。

注意。所述清除远程桌面连接历史记录的方法适用于所有Windows桌面版本(从Windows XP到Windows 10)以及Windows Server。

清除RDP连接历史记录的脚本

上面我们显示了如何在Windows中手动清除RDP连接的历史记录。但是,手动执行此操作(尤其是在多台计算机上)非常耗时。因此,我们提供了一个小脚本(BAT文件),该脚本可自动清除RDP历史记录。

要自动执行RDP历史记录清理,您可以将此脚本放置到Windows启动或通过GPO注销脚本在用户计算机上运行。

@echo off
reg delete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientDefault" /va /f
reg delete "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers" /f
reg add "HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server ClientServers"
attrib -s -h %userprofile%documentsDefault.rdp
del %userprofile%documentsDefault.rdp
del /f /s /q /a %AppData%MicrosoftWindowsRecentAutomaticDestinations

让我们考虑一下脚本的所有动作:

  1. 禁止将信息输出到控制台;
  2. 删除注册表项HKCU Software Microsoft Terminal Server Client Default中的所有参数(清除最近的RDP连接列表);
  3. 删除整个注册表项HKCU Software Microsoft Terminal Server Client Servers(清除所有RDP连接列表和保存的用户名);
  4. 重新创建以前删除的注册表项;
  5. 更改当前用户的配置文件目录中的Default.rdp文件属性(默认为“隐藏”和“系统”);
  6. 删除Default.rdp文件;
  7. 从跳转列表的最新项目中清除“远程桌面连接”条目。

此外,您可以使用以下PowerShell脚本清除RDP连接的历史记录:

Get-ChildItem "HKCU:SoftwareMicrosoftTerminal Server Client" -Recurse | Remove-ItemProperty -Name UsernameHint -Ea 0
Remove-Item -Path 'HKCU:SoftwareMicrosoftTerminal Server Clientservers' -Recurse 2>&1 | Out-Null
Remove-ItemProperty -Path 'HKCU:SoftwareMicrosoftTerminal Server ClientDefault' 'MR*' 2>&1 | Out-Null
$docs = [environment]::getfolderpath("mydocuments") + 'Default.rdp'
remove-item $docs -Force 2>&1 | Out-Null

注意。顺便说一下,R​​DP历史记录清理的功能已内置到许多系统和注册表“清理器”中,例如CCleaner等。

如何防止Windows保存RDP连接历史记录?

如果您不希望Windows保存RDP连接历史记录,则必须拒绝写入HKCUSoftwareMicrosoftTerminal Server Client所有用户账户的注册表项。首先,在指定的注册表项上禁用权限继承(权限->高级->禁用继承)。然后通过选中用户的“拒绝”选项来更改注册表项ACL (但您应该了解这是不受支持的配置)。

结果,mstsc.exe根本无法将RDP连接信息写入注册表。

如何清除远程桌面位图缓存?

远程桌面连接客户端具有图像持久性位图缓存功能。RDP客户端将很少更改的远程屏幕片段保存为光栅图像缓存。因此,mstsc.exe客户端从本地驱动器缓存加载自上次渲染以来未更改的屏幕部分。此RDP缓存功能可减少通过网络传输的数据量。

RDP缓存是目录中的两种文件%LOCALAPPDATA%MicrosoftTerminal Server ClientCache:

*.bmcbin

这些文件以64×64像素图块的形式存储原始RDP屏幕位图。使用简单的PowerShell或Python脚本(可通过RDP Cached Bitmap Extractor查询轻松搜索),可以获取带有远程桌面屏幕的PNG文件,并使用它们来获取敏感信息。磁贴的大小很小,但是足以为研究RDP缓存的人员提供有用的信息。

您可以通过禁用“ 高级”选项卡上的“ 持久位图缓存”选项来阻止RDP客户端存储远程桌面屏幕图像缓存。

有时在使用RDP缓存时,它可能已损坏:

位图磁盘缓存失败。您的磁盘已满,或者缓存目录丢失或损坏。某些位图可能不会出现。

在这种情况下,您需要清除RDP缓存目录或禁用“位图缓存”选项。

清除已保存的RDP凭据

如果在建立新的远程RDP连接时,用户在输入密码之前选择了“ 记住我”选项,则用户名和密码将保存在Windows凭据管理器中。下次连接到同一台计算机时,RDP客户端会自动使用以前保存的密码在远程主机上进行身份验证。

您可以直接从客户端的mstsc.exe窗口中删除保存的RDP密码。从连接列表中选择相同的连接,然后单击“ 删除”按钮。然后确认删除已保存的凭据。

或者,您可以直接从Windows凭据管理器中删除RDP保存的密码。转到“控制面板用户帐户凭据管理器”部分。选择“ 管理Windows凭据”,然后在保存的密码列表中找到计算机名称(以下格式TERMSRV/192.168.1.100)。展开找到的项目,然后单击“ 删除”按钮。

在Active Directory域环境中,您可以通过使用特殊的GPO(网络访问)来禁用RDP连接的保存密码:不允许存储用于网络身份验证的密码和凭据(请参阅文章)。

删除远程主机上与RDP相关的事件日志

连接日志也保存在RDP / RDS主机端。您可以在事件查看器日志中找到有关RDP连接历史记录的信息:

  • 安全;
  • 应用程序和服务日志-> Microsoft-> Windows-> TerminalServices-RemoteConnectionManager->操作;
  • TerminalServices-LocalSessionManager->管理员。

在本文中阅读有关RDP连接日志分析的更多信息。

您可以使用wevtutil或PowerShell清除RDP服务器上的事件日志。

rdp连接工具_如何在Windows10中清除RDP连接历史记录?相关推荐

  1. amd cpu不能在cmd环境下运行java代码_如何在Windows10中配置java的JDK环境

    今天给大家分享一下如何配置java的JDK环境.操作步骤如下: 1.下载好 jdk 的安装文件,我下载的是 jdk-10.0.1_windows-x64_bin.exe 这个版本的安装文件: 2.使用 ...

  2. java ssh连接 如何不使用密码_如何在java中为ssh连接设置密码

    我想用 java代码连接我的unix服务器.首先它将连接到我的服务器位置.在里面,它将连接到我的服务器名称.但那时它会要求确认(是/否)和密码我不知道该怎么做? 这是我所做的代码.请帮我解决这个问题 ...

  3. figma设计_如何在Figma中构建设计入门套件(第1部分)

    figma设计 Figma教程 (Figma Tutorial) Do you like staring at a blank canvas every time you start a new pr ...

  4. Android清空Fragment缓存,如何在Android中清除Fragment Backstack

    如何在Android中清除Fragment Backstack 您好如何清除片段回堆栈正在使用以下逻辑,它不起作用... for(int i = 0; i < mFragmentManager. ...

  5. win10 后台运行jar包_如何在Windows10上打开或运行JAR文件

    JAR文件类似于EXE文件,除了它们需要运行Java框架. 想象一下它们作为Windows上的EXE文件,您可以双击启动该程序. 当您运行EXE文件时,它使用Windows操作系统支持. 同样,当您运 ...

  6. 在excel日期比对大小_如何在Excel中防止分组日期

    在excel日期比对大小 As a teenager, group dates can be fun. If you have strict parents, that might be the on ...

  7. 表格在整个html居中显示,html 表格字符居中显示_如何在HTML中居中显示表格?

    html 表格字符居中显示_如何在HTML中居中显示表格? html 表格字符居中显示_如何在HTML中居中显示表格? html 表格字符居中显示 HTML table provides the ab ...

  8. w10睡眠的计算机如何启动,如何在Windows10中启用或禁用允许混合睡眠

    如何在Windows10中启用或禁用允许混合睡眠 启用或禁用Windows10中允许混合睡眠的方法 在转到"允许混合睡眠"选项之前,我们将尝试了解什么是睡眠的基本术语?当用户希望离 ...

  9. 如何在Hibernate中维护表的历史记录

    为了维护数据库的历史记录或跟踪数据库表行的修改,我们创建了一个版本表,其中包含与原始表相同的字段.每当原始表被更改时,我们都会在版本表中创建另一个条目. 因此,对于每个更新查询,我们都必须在版本表中编 ...

最新文章

  1. Boost之timer库
  2. 深入理解 Java 内存模型 JMM
  3. freemarker ftl模板_Spring Boot2 系列教程(十)Spring Boot 整合 Freemarker
  4. 基于Kubeflow建立的星辰算力训练平台背后的技术架构
  5. 在mysql-workbench中运行set和declare并且观察区别
  6. 还不起9亿?有人建议为范冰冰发行一款私募ABS产品融资!
  7. css网格_CSS网格容器
  8. win10远程登陆deepin xrdp
  9. 计算机应用培训课程安排表,计算机培训教学计划
  10. Python3.x学习资料汇总(待续)
  11. openstack neutron(tap、qvb、qvo详解)(转)
  12. 关于F头、射频线、水晶头、网线
  13. 实验4 可视化简历生成
  14. 华为WLAN基本概述
  15. MSDN订阅用户可以下载Windows 10正式版啦
  16. 代码分析UEFI的执行流程
  17. 25-javaweb接入支付宝支付接口
  18. 腾讯AI八篇论文入选顶级医学影像会议MICCAI ,涉及病理癌症图像分类等
  19. Android开发之高仿QQ消息侧拉删除
  20. 经管资源库项目总结----在线预览office文件的实现与总结

热门文章

  1. 微生物组:3分和30分文章差距在哪里?
  2. R语言使用ggplot2包的快速可视化函数qplot绘制分组箱图(jitter、分组颜色配置)实战
  3. R语言回归模型构建、回归模型基本假设(正态性、线性、独立性、方差齐性)、回归模型诊断、car包诊断回归模型、特殊观察样本分析、数据变换、模型比较、特征筛选、交叉验证、预测变量相对重要度
  4. R语言使用lm构建线性回归模型、并将目标变量对数化实战:模型训练集和测试集的残差总结信息(residiual summary)、模型训练(测试)集自由度计算、模型训练(测试)集残差标准误计算
  5. R语言层次聚类(hierarchical clustering):数据缩放、PCA聚类结果可视化、fpc包的clusterboot函数通过bootstrap重采样的方法评估hclust层次聚类的稳定性
  6. R使用LSTM模型构建深度学习文本分类模型(Quora Insincere Questions Classification)
  7. python根据二叉树的前序遍历和中序遍结果历重建二叉树
  8. GATB=The Genome Analysis Toolbox with de-Bruijn graph 带有de-Bruijn图的基因组分析工具箱
  9. php 自定义超全局,一个超级简单的 PHP 超全局变量管理扩展
  10. slb健康检查方式_SLB健康检查也是“正常”-问答-阿里云开发者社区-阿里云