Очистка истории RDP-соединений

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

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

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

История rdp подключений

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

Как удалить историю RDP соединений в Windows

Удалить комьютер(ы) из списка истории 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 соединение (содержит информацию о самом последнем rdp подключении), хранящееся в файле Default.rdp (файл является скрытым и находится в каталоге Documents (Мои документы).
Примечание. Описанная методика очистки истории терминальных rdp подключений работает как на всех версиях Windows XP, Vista, Windows 7, Windows 8 (как включить rdp в Windows 8), так и серверных платформах Windows Server 2003/2008/2012.

Очистка историю (логов) подключений по 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 (очищаем список последних подключений)
  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

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

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


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

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

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

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

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