Просмотр и очистка истории 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_USER\Software\Microsoft\Terminal Server Client;
  2. В подразделе Default хранятся записи реестра история о 10 последних RDP подключениях. Имена параметров называются MRU0-MRU9 (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%\Microsoft\Windows\Recent\AutomaticDestinations .

mstsc.exe rdp recent items

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

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

@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"
attrib -s -h %userprofile%\documents\Default.rdp
del %userprofile%\documents\Default.rdp
del /f /s /q /a %AppData%\Microsoft\Windows\Recent\AutomaticDestinations

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

Аналогичный 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
$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%\Microsoft\Terminal Server Client\Cache :

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 подключений, нужно запретить запись в ветку реестра HKCU\Software\Microsoft\Terminal 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.

Предыдущая статья Следующая статья


Комментариев: 27 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)