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

Тема в разделе "Windows", создана пользователем CLAY, 17 мар 2017.

  1. CLAY

    CLAY Member

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

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


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

    Ссылка доступна только зарегистрированным пользователям

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

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

    Удалить комьютер(ы) из списка истории rdp подключений обычными средствами Windows не получится, придется вносить изменения в системный реестр.

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

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

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

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

    @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

    cd %userprofile%documents

    attrib Default.rdp -s -h

    del Default.rdp

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

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

    Примечание. Кстати, функция очистка логов RDC встроена во многие «чистильщики» системы и реестра, такие как, CCCleaner и т.д.
    В том случае если необходимо совсем отключить историю remote desktop, можно попробовать запретить системе запись в данную ветку реестра как в статье описывающей запрет (но, стоит понимать, что это уже unsupported configuration…).

Поделиться этой страницей