凯发体育官方-凯发体育官网

主页
分享互联网新闻

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

更新时间:2019-09-04 21:53

timg .jpgtimg .jpg

远程桌面协议是一个多通道的协议,让用户连上提供微软终端机服务的电脑,大部分的Windows都有客户端所需软件。

对于每次成功连接后,Windows中的RDP客户端都会保存远程计算机名称或IP地址以及用于登录的用户名。这样在下一次开始连接时,RDP客户端就会自动提供用户之前使用的连接过。用户可以从连接列表中选择远程rdp服务器的名称,这样客户端就会自动填写用于登录的用户名。

从用户的角度来看,这确实很方便,但从安全角度来看却是不安全的,特别是当rdp连接发生在公用或不可信的计算机时。

有关远程桌面会话的信息会被单独存储在每个用户的配置文件中,即用户不能查看另一个用户的RDP连接历史。

1.jpg1.jpg

主要内容分为以下3大块:

1.如何从注册表中删除RDP连接缓存;

2.如何使用脚本清除RDP连接历史记录;

3.如何清除缓存的RDP凭证;

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

有关所有RDP连接的信息都会被存储在每个用户的注册表中,由于使用内置Windows工具从rdp连接列表中删除一台或多台计算机是不可能的,你将不得不手动删除某些注册表项。

1.运行注册表编辑器regedit.exe,并进入HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client。

2.jpg2.jpg

2.这时你需要两个注册表项,默认表项和服务器表项。

3.将注册表项HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default进行扩展,其中包含最近使用过的远程rdp服务器的10个IP地址或DNS名称列表。远程桌面服务器的名称或IP地址保存在MRU *值中。所以要清除最近的rdp连接的历史记录,就要选择名称为MRU0-MRU9的所有值,右键单击并选择删除。

3.jpg3.jpg

4.接下来,将HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers进行扩展。该扩展包含所有已经建立的RDC连接的列表。如果使用任何服务器的名称或IP地址展开节点,则UsernameHint将显示由rdp连接的用户的名称。

5.要清除所有rdp连接和保存的用户名的历史记录,你就必须清除服务器注册表项的内容。由于无法一次选择所有注册表项,因此最简单办法就是删除整个服务器注册表项,然后手动重新创建它。

4.jpg4.jpg

6.除了指定的注册表项之外,还需要删除Default.rdp中存储的默认rdp连接文件,其中包含有关最新的rdp会话的信息,默认rdp连接文件是位于文档目录中的隐藏文件。

注意:上文所述的清除终端rdp连接历史记录的方法适用于所有版本的Windows XP,Vista,Windows 7,Windows 8和Windows 10以及Windows Server平台,如Windows Server 2003/2008/2012/2016。

如何使用脚本清除RDP连接历史记录

我已经在上文介绍了如何通过注册表手动清除远程桌面历史记录。但是,手动执行,特别是在多台计算机上执行时非常耗时的。因此,我编写了一个小脚本,可以让你轻松的自动清除历史记录。

可以将以下脚本放入开始连接的时候,这样就可以自动执行rdp历史清理,或使用组策略将其部署到计算机中。

@echo off
reg delete  HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default  /va /f
reg delete  HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers  /f
reg add  HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers 
cd %userprofile%\documents\
attrib Default.rdp -s -h
del Default.rdp

注意:在某些情况下,文档文件夹可以从标准目录中移动。例如,由于系统驱动器上缺少空间而文档文件夹存储在另一个分区上。在这种情况下,你必须更改目录的路径或手动查找文件Default.rdp。

以下就是脚本的所有操作,分为7步:

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.删除Default.rdp文件;

另外,你可以使用以下PowerShell脚本来清除RDP连接的历史记录。

Get-ChildItem  HKCU:\Software\Microsoft\Terminal Server Client  -Recurse | Remove-ItemProperty -Name UsernameHint -Ea 0
 Remove-Item -Path  HKCU:\Software\Microsoft\Terminal Server Client\servers  -Recurse 2 1 | Out-Null
 Remove-ItemProperty -Path  HKCU:\Software\Microsoft\Terminal Server Client\Default   MR*  2 1 | Out-Null
 $docs = [environment]::getfolderpath +  \Default.rdp 
 remove-item $docs -Force 2 1 | Out-Null

注意:RDP历史清理的功能会被内置于许多系统和注册表清理程序中,如CCCleaner等。

清除缓存的RDP凭证

如果在建立新的远程RDP连接时,在输入密码之前,用户通常都会选中“记住我的用户名”的选项,然后用户名和密码都将保存在系统凭证管理器中。等下次连接到同一台计算机时,RDP客户端就会自动使用先前保存的密码,进行远程桌面上授权。

7.jpg7.jpg

你可以直接从客户端的mstsc.exe窗口中删除此密码,即从连接列表中选择相同的连接,然后单击删除按钮,确认保存的凭证被删除。

8.jpg8.jpg

或者,你可以直接从Windows Credential Manager中删除保存的密码。然后进入控制面板\用户帐户\凭证管理,选择“管理Windows凭据”,并在保存的密码列表中找到计算机名称,格式为TERMSRV/192.168.1.100,最后展开找到的项并单击删除按钮。

9.jpg9.jpg

在域环境中,你可以使用“禁止存储网络身份验证的密码和凭证”策略来禁用RDP连接的保存密码。

推荐文章

官方微信公众号