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

RDP клиент в Windows (mstsc.exe) при каждом успешном соединении с удаленным компьютером сохраняет в системе его имя (или ip адрес) и имя пользователя, под которым был выполнен вход. При следующем запуске клиент RDP предлагает пользователю выбрать одно из подключений, которыми он уже пользовался ранее. Пользователь может выбрать из списка имя удаленного rdp сервера, и клиент автоматически подставляет используемое ранее для входа имя пользователя.

Это удобно с точки зрения конечного пользователя, однако несекьюрно с точки зрения безопасности, особенно когда rdp соединение инициируется с общедоступного или недоверенного компьютера.

Информация о терминальных сессиях хранится индивидуально для каждого пользователя компьютера в его профиле, т.е. пользователь (подразумевается рядовой пользователь, а не администратор) не сможет просмотреть историю подключений другого пользователя.

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

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

Удаление журнала RDP подключений из реестра системы

Информация о всех RDP подключениях хранится в реестре каждого пользователя. Удалить компьютер(ы) из списка истории rdp подключений штатными средствами Windows не получится, придется вручную удалять ключи в системном реестре.

  1. Откройте редактор реестра regedit.exe и перейдите в ветку HKEY_CURRENT_USER\Software\Microsoft\Terminal Server ClientЛоги о всех rdp соединениях хранятся в реестре
  2. Нас интересуют две подветки: Default (хранит историю о 10 последних rdp подключениях) и Servers (содержит список всех rdp серверов и имен пользователей, используемых ранее для входа)
  3. Развернем ветку реестра HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default, в которой содержится список 10 адресов или имен удаленных компьютеров, которые использовались последними (MRU – Most Recently Used). Имя (ip адрес) терминального сервера хранится в значении ключа MRU*. Чтобы очистить историю последних rdp-соединений, выделите все ключи с именами MRU0-MRU9, щелкните правой клавишей и выберите пункт Delete.Очистка информации о 10 последних терминальных соединениях
  4. Развернем далее ветку HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers. В ней содержится список всех RDC (remote desktop client) соединений, которые когда либо устанавливались с данного компьютера. Если развернуть ветку с именем (ip адресом) любого сервера, то в ключе UsernameHint (подсказка имени пользователя) можно увидеть имя пользователя, под которым осуществлялось rdp соединение.remote desktop client - сохраняет имена удаленных пользователей
  5. Чтобы очистить историю всех rdp-подключений и сохраненных имен пользователей необходимо очистить содержимое ветки реестра Servers. Т.к. выделить все ветки не получится, проще всего удалить целиком Servers ветку, а затем пересоздать ее вручную.
  6. Помимо указанных ключей реестра, необходимо удалить файл дефолтного rdp подключения Default.rdp (содержит информацию о самом последнем rdp подключении. Файл является скрытым и находится в каталоге Documents (Документы).
Примечание. Описанная методика очистки истории терминальных rdp подключений работает как на всех версиях Windows XP, Vista, Windows 7, Windows 8 (как включить rdp в Windows 8)   и Windows 10, так и серверных платформах Windows Server 2003/2008/2012/2016.

Очистка истории (логов) RDP подключений с помощью скрипта

Выше мы разобрали методику «ручной» очистки истории соединений. Однако делать это вручную (особенно на нескольких компьютерах) – занятие достаточно долгое. Поэтому мы предлагаем небольшой скрипт (bat-файл), который позволяет автоматически очищать историю подключений к удаленным рабочим столам.

Для автоматизации очистки истории 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

Последовательно разберем все действия скрипта:

  1. Отключаем вывод информации в консоль
  2. Удаляем все значения в ветке HKCU\Software\Microsoft\Terminal Server Client\Default (очищаем список последних rdp соединений)
  3. Удаляем все содержимое ветки HKCU\Software\Microsoft\Terminal Server Client\Servers (очистка истории rdp подключений и сохраненных имен пользователей)
  4. Пересоздаем удаленную ранее ветку
  5. Переходим в каталог с файлом Default.rdp. Отметим, что в данном случае путь к папке «Документы» будет отличаться в зависимости от версии и языка Windows. В данном примере указан путь для Windows 7 En, для XP RUS – он будет выглядеть cd %userprofile%\”Мои документы”, для XP ENG — cd %userprofile%\”My Documents” и т.д.
  6. Меняем атрибуты файла Default.rdp — по умолчанию он является системным и скрытым (как отобразить скрытые файлы в Windows)
  7. Удаляем файл Default.rdp

Скачать готовый скрипт можно тут: CleanRDPHistory.bat

Кроме того, очистить историю подключений RDP можно с помощью следующего PowerShell скрипта:

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

Примечание. Кстати, функция очистка логов RDC встроена во многие «чистильщики» системы и реестра, такие как, CCCleaner и т.д.

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

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

В том случае, если при установке удалённого RDP подключения, перед вводом пароля пользователь поставил галку Remember Me / Запомнить меня, то имя пользователя и пароль будут сохранены в системном менеджере паролей системы (Credential Manager). При следующем подключении к этому же компьютеру, RDP клиент автоматически использует сохранённый ранее пароль для авторизации на удаленном компьютере.

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

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

mstsc - удалить сохраненный пароль rdp подключения

Либо можно удалить сохраненный пароль непосредственно из менеджера паролей Windows. Откройте в панель управления и перейдите в раздел Control Panel\User Accounts\Credential Manager. Выберите Manage Windows Credentials и в списке сохранённых паролей найдите имя компьютера (в формате TERMSRV/192.168.1.100). Разверните найденный элемент и нажмите на кнопку Remove.

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

В доменной среде запретить сохранение паролей для RDP подключений можно с помощью политики Network access: Do not allow storage of passwords and credentials for network authentication (см. статью).

 

 


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


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

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

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

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