Очистка истории RDP-соединений | Windows для системных администраторов

Очистка истории 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…).

Еще записи по теме: Windows 7
Понравилась статья? Скажи спасибо и расскажи друзьям!
Назад:
Вперед:

Комментариев: 11

Оставить комментарий
  1. Константин | 17.10.2013

    Отличная статья, спасибо за толковый материал.

    Ответить
  2. melancholic | 25.11.2013

    С правами рядового юзера должно работать? У меня не работает. Скрипт после успешного выполнения трех операций пишет «Не найден файл: Default.rdp», и сервер все равно висит в списке mstsc.

    Ответить
    • itpro | 25.11.2013

      С правами рядового пользователя удаляется история rdp подключений, хранящяяся в реестре.  Адрес последнего сервера, к которому подключались по rdp хранится в файле Default.rdp, поэтому стоит найти и удалить его руками. Проверьте в папке %userprofile%\documents\ этот файл лежит?

      Ответить
      • melancholic | 25.11.2013

        > Проверьте в папке %userprofile%\documents\ этот файл лежит?
        Проверил — нету его там.

        Ответить
        • itpro | 26.11.2013

          Попробуйте найти файл Default.rdp поиском.. Не забудьте, что этот файл по-умолчанию скрыт.
          И еще один вопрос: какая ОС? Win 7  Русская?
           

          Ответить
          • melancholic | 27.11.2013

            Нашел!  Действительно, он там был. Почему же его скрипт не видел?

            Ага. Когда я попытался его запустить из Проводника, он мне выдал его свойства с надписью «Осторожно, этот файл был получен с другого компьютера…» и кнопочкой Разблокировать. Я нажал ее. Тогда после запуска батника уже открылась консоль и удалился файл Default.rdp. Спасибо!

            Ответить
  3. Роман | 28.06.2015

    Надыбал утилиту Remote Desktop History AutoCleaner. Всё стало проще :)

    Ответить
  4. Дмитрий | 15.03.2016

    Подскажите пожалуйста, как удалить сохраненную информацию о подключении к небезопасному компьютеру? Что бы повторно вышло предупреждение, что компьютер может быть не безопасен.

    Ответить
    • melancholic | 16.03.2016

      Приведенного выше сценарий не помогает?

      Ответить
    • itpro | 16.03.2016

      Правильно ли я понял, что требуется удалить данные о недоверенных сертфикатах RDP серверов (окно «The identity of the remote computer cannot be verified», которые были добавлены пользователем в доверенные проставкой галки «Don’t ask me again for connections to this computer»?
      Эти сертфикаты удаляются из mmc консоли управления сертификатам: mmc.exe -> Add Snap In -> Cerificates -> Computer Account -> Local Computer
      Найдите и удалите эти сертфикаты в контейнере Remote Desktop -> Certificates.

      Ответить
  5. Вит | 16.03.2016

    Если не удаляется Default, помещайте батник в папку с файлом.

    Ответить
Полные правила комментирования на сайте winitpro.ru. Вопросы, не связанные с содержимым статьи или ее обсуждением удаляются.

Сказать Спасибо! можно на этой странице или (еще лучше) поделиться с друзями ссылкой на понравившуюся статью в любимой социальной сети(специально для этого на сайте присуствуют кнопки популярных соц. сетей).

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

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



MAXCACHE: 0.26MB/0.00181 sec