Просмотр и очистка истории RDP подключений в Windows

Встроенный Remote Desktop Connection ( mstsc.exe) клиент Windows сохраняет имена (IP адреса) удаленных серверов и пользователей в истории RDP подключений. RDP клиент при следующем запуске выбрать одно из сохраненных подключений и автоматически подставит имя пользователя. Если вы используете общедоступный или недоверенный компьютер, вы можете очистить историю RDP подключений в целях безопасности

mstsc.exe отображает историю rdp подключений

В этой статье мы покажем, где в Windows хранится история подключений к удаленным рабочим столам и сохраненные пароли, и каким образом можно эту историю очистить.

Удалить историю RDP подключений в Windows

Windows хранит историю RDP подключений в нескольких местах и для полной очистки истории придется удалить данные отовсюду.

Удалить историю RDP в реестре пользователя

  1. Откройте редактор реестра regedit.exe и перейдите в HKEY_CURRENT_USERSoftwareMicrosoftTerminal Server Client;
  2. В подразделе Default хранятся записи реестра история о 10 последних RDP подключениях. Имена параметров называются MRU 0-MRU 9 (MRU – Most Recently Used), в значениях содержатся IP адресов/имен RDP хостов. Выберите все параметры реестра в ветке и удалите; очистка rdp истории в реестре
  3. Затем разверните ветку Servers . Здесь хранится список всех RDP серверов и сохраненных учетных записей пользователей, использующихся ранее. Имя пользователя содержится в параметре UsernameHint . Это имя автоматически подставляется в окно клиента mstsc.exe при подключении к этому RDP хосту. В параметре CertHash хранится отпечаток RDP сертификата сервера (см. статью о настройке доверенных TLS/SSL сертфикатов для RDP ); сохраненные данные rdp сервера в реестра windows
  4. Для очистки очистить истории RDP подключений нужно удалить содержимое ветки реестра Servers. Проще всего просто удалить ветку Servers целиком, а затем пересоздать ее вручную. удалить историю rdp подключений

Удалить файл Default.rdp

Затем удалите скрытый файл RDP подключения Default .rdp в профиле пользователя %userprofile%Documents . В нем хранится информация о самом последнем RDP подключении.

Просмотр и очистка журналов RDP подключений клиента

При подключении клиент RDP также сохраняет лог в журнал Event Viewer (Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-ClientActiveXCore -> Microsoft-Windows-TerminalServices-RDPClient/Operational ).

Журнал подключений RDP клиента

Чтобы просмотреть список всех исходящий RDP подключений, отфильтруйте событий из Event Viewer с помощью командлета Get-WinEvent :

$properties = @(
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='LocalUser';e={$_.UserID}}
@{n='Target RDP host';e={$_.Properties[1].Value}}
)
Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-RDPClient/Operational';ID='1102'} | Select-Object $properties

Просмотри истории rdp подлключений в журнале событий

Вы можете очистить этот журнал из консоли Event Viewer или с помощью команды :

WevtUtil cl Microsoft-Windows-TerminalServices-RDPClient/Operational

Очистка истории RDP в меню Пуск и таскбаре

Если вы наберете mstsc в поисковой строке Windows , или щелкните правой кнопкой по клиенту в панели задач, вы увидите в списке Recent историю предыдущих RDP подключения. Чтобы очистить историю RDP в меню пуск и списках быстрого перехода (jump lists), очистите списки Resent Items, удалив файлы в каталоге %AppData%MicrosoftWindowsRecentAutomaticDestinations .

mstsc.exe rdp recent items

Скрипт очистки истории (логов) RDP подключений

Для быстрой очистки истории RDP подключений в Windows вы можете воспользоваться готовым BAT скриптом:

@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

Вы можете скачать готовый скрипт CleanRDPHistory.bat

Аналогичный 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
$docsfoldes = [environment]::getfolderpath("mydocuments") + 'Default.rdp'
remove-item  $docsfoldes  -Force  2>&1 | Out-Null

Если вы хотите автоматически очищать RDP историю при выходе пользователя, вы можете запустить этот код как логоф скрипт GPO .

Очистка Bitmap кэша клиента RDP

Клиент Remote Desktop Connection по умолчанию сохраняет редко изменяющиеся области удалённого рабочего стола в виде кэша растровых изображений (persistent bitmap caching). Благодаря кэшу клиента RDP позволяет существенно уменьшить трафик, передаваемый через сеть.

Кэш RDP клиента хранится в файлах *.bmc и *.bin в каталоге %LOCALAPPDATA%MicrosoftTerminal Server ClientCache :

terminal server client кэшированные картинки для rdp подключения

В кэше RDP хранятся сырые растровые изображения RDP экрана в виде плиток 64×64 пикселя. С помощью простых PowerShell или Python скриптов (ищутся по запросу RDP Cached Bitmap Extractor ) можно собрать из PNG файлов кэша большие области удаленого рабочего стола.

RDP Cached Bitmap Extractor

В целях безопасности рекомендует очистить папку RDP кэша и запретить RDP клиенту сохранять изображение экрана в кэш. Отключите опцию Persistent bitmap caching (Постоянное кэширование точечных рисунков) на вкладке Experience в клиенте.

отключить Постоянное кэширование точечных рисунков в rdp сессии

Как запретить Windows сохранять историю RDP подключений?

Если вы хотите, чтобы Windows не сохраняла историю RDP подключений, нужно запретить запись в ветку реестра HKCUSoftwareMicrosoftTerminal Server Client. Сначала отключите наследование разрешений на ветке (Permissions -> Advanced -> Disable inheritance). Затем измените ACL на ветку, выставив Deny галочку для всех пользователей, администраторов и даже SYSTEM. (но, вы должны понимать, что это уже unsupported configuration…).

запретить windows сохранять историю rdp подключений в реестре

Удаление сохраненных RDP паролей

Клиент RDP позволяет сохранять пароль пользователя для подключений во встроенный диспетчер учетных данных Windows (Credential Manager) и автоматически подключаться к удаленному хосту без ввода пароля.

rdp клиент предлагает сохранить пароль пользователя

Подробнее об использовании сохраненных RDP паролей в Windows .

Вы можете удалить сохраненные пароля для RDP из окна Credential Manager (выполните команду rundll32.exe keymgr.dll,KRShowKeyMgr ) и удалите все записи с префиксом TERMSRV .

Удалить сохраненные пароли rdp

Или вы можете очистить сохраненные учетные данные для RDP с помощью команды:

For /F "tokens=1,2 delims= " %G in ('cmdkey /list ^| findstr "target=TERMSRV"') do cmdkey /delete %H

Чтобы запретить пользователям сохранять пароли для RDP, включите параметр групповых политик Do not allow passwords to be saved в Computer Configuration -> Administrative Templates -> Windows Components -> Desktop Services -> Remote Desktop Connection Client.
EnglishRussianUkrainian