Как очистить кэш rdp
Перейти к содержимому

Как очистить кэш rdp

  • автор:

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

date

09.06.2020

user

itpro

directory

Windows 10, Windows 7, Windows Server 2016

comments

комментариев 27

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

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

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

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

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

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

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

  1. Откройте редактор реестра regedit.exe и перейдите в ветку HKEY_CURRENT_USER\Software\Microsoft\TerminalServerClient;
  2. Внутри этого раздела нас интересуют две ветки: Default (хранит историю о 10 последних RDP подключениях) и Servers (содержит список всех RDP серверов и имен пользователей, используемых ранее для входа);Terminal Server Client MRU ветка реестра с последними RDP подключениями
  3. Разверните ветку реестра HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default, в которой содержится список 10 адресов или имен удаленных компьютеров, которые использовались последними (MRU – Most Recently Used). Имя (IP адрес) удаленного сервера хранится в значении ключа MRU*. Чтобы очистить историю последних RDP-соединений, выделите все ключи с именами MRU0-MRU9, щелкните правой клавишей и выберите пункт Delete;очистка rdp истории в реестре
  4. Теперь разверните ветку HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers. В ней содержится список всех RDP подключений, которые использовались ранее под этим пользователем. Разверните ветку с именем (IP адресом) любого хоста. Обратите внимание на значение параметра UsernameHint (подсказка имени пользователя). В нем указано имя пользователя, использующееся для подключения к RDP/RDS хосту. Именно это имя пользователя будет подставлено в окно клиента mstsc.exe, когда вы в следующий раз попытаетесь подключится к этому хосту. Кроме того в переменной CertHash находится отпечаток RDP сертификата сервера (см. статью о настройке доверенных TLS/SSL сертфикатов для RDP);сохраненные данные rdp сервера в реестра windows
  5. Чтобы очистить историю всех RDP-подключений и сохраненных имен пользователей нужно очистить содержимое ветки реестра Servers. Т.к. выделить все вложенные ветки не получится, проще всего удалить ветку Servers целиком, а затем пересоздать ее вручную;удалить историю rdp подключений

mstsc.exe rdp recent items

  • Кроме указанных выше параметров и веток реестра, вам необходимо удалить файл дефолтного RDP подключения Default.rdp. В этом файле хранится информацию о самом последнем RDP подключении. Файл является скрытым и находится в каталоге Documents (Документы);
  • Windows также сохраняет историю RDP подключений в списках быстрого перехода (jump lists). Если вы наберете в поисковой строке Windows 10 mstsc , то в списке появится ранее использованные RDP подключения. Вы можете отключить ведение истории быстрого перехода с помощью dword параметра реестра Start_TrackDocs в ветке HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced , либо можно очистить списки Resent Items, удалив файлы в каталоге %AppData%\Microsoft\Windows\Recent\AutomaticDestinations .
  • Примечание. Описанная методика очистки истории подключений Remote Desctop Connection применима для всех версий десктопных версий (от Windows XP и до Windows 10) и для серверных платформ Windows Server.

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

    Выше мы показали, как вручную очистить историю RDP подключений в Windows. Однако делать это вручную (особенно на нескольких компьютерах) – занятие достаточно долгое. Поэтому мы предлагаем небольшой скрипт (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»
    attrib -s -h %userprofile%\documents\Default.rdp
    del %userprofile%\documents\Default.rdp
    del /f /s /q /a %AppData%\Microsoft\Windows\Recent\AutomaticDestinations

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

    1. Отключен вывод информации в консоль;
    2. Удаление всех параметров в ветке HKCU\Software\Microsoft\Terminal Server Client\Default (очистка списка последних 10 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 сохранять историю RDP подключений?

    Если вы хотите, чтобы Windows не сохраняла историю RDP подключений, нужно запретить запись в ветку реестра HKCU\Software\Microsoft\Terminal Server Client для всех аккаунтов, в том числе System. Сначала отключите наследование разрешений на указанную ветку (Permissions -> Advanced -> Disable inheritance). Затем измените ACL на ветку, выставив Deny галочку для пользователей (но, вы должны понимать, что это уже unsupported configuration…).

    запретить windows сохранять историю rdp подключений в реестре

    В результате mstsc просто не сможет записать информацию об RDP подключении в реестр.

    Очистка Bitmap кэша RDP

    В клиенте Remote Desktop Connection есть функционал кэширования изображений (persistent bitmap caching). Клиент RDP при подключении сохраняет редко изменяющиеся куски удаленого экрана в виде кэша растровых изображений. Благодаря этому клиент mstsc.exe загружает из локального кэша части экрана, которые не изменились с момента последней прорисовки. Этот механизм кэширования RDP уменьшает количество данных, передаваемых по сети.

    RDP кэш представляет собой два типа файлов в каталоге %LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache :

    terminal server client кэшированные картинки для rdp подключения

    В этих файлах хранятся сырые растровые изображения RDP экрана в виде плиток 64×64 пикселя. С помощью простых PowerShell или Python скриптов (легко ищутся по запросу RDP Cached Bitmap Extractor) можно получить PNG файлы с кусками экрана рабочего стола и использовать их для получения конфиденциальной информации. Размер плиток мал, но достаточен для получения полезной информации для изучающего RDP кэш.

    RDP Cached Bitmap Extractor

    Вы можете запретить RDP клиенту сохранять изображение экрана в кэш, отключив опцию Persistent bitmap caching (Постоянное кэширование точечных рисунков) на вкладке Advanced.

    отключить Постоянное кэширование точечных рисунков в rdp сессии

    Несколько раз при использовании RDP кэша сталкивался с его повреждением:

    Bitmap Disk Cache Failure. Your disk is full or the cache directory is missing or corrupted. Some bitmaps may not appear.

    В этом случае нужно очистить каталог RDP кэша или отключить опцию Bitmap Caching.

    Удаление сохраненных 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 (см. статью).

    Очистка RDP логов на сервере

    Логи подключения так же ведутся на стороне RDP/RDS сервера. Вы можете найти информацию об RDP подключениях в логах Event Viewer:

    • Security;
    • Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-RemoteConnectionManager -> Operational;
    • TerminalServices-LocalSessionManager -> Admin.

    Как очисть кэш клиента RDP при подключении к серверу 1С

    или «Произошла внутренняя ошибка» при подключении к RDP — что делать?

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

    внутренняя ошибка rdp

    Исправить эту ошибку не сложно.

    Надо очистить кэш RDP и реестр

    Для этого необходимо запустить редактор реестра regedit.exe, и выполнить очистку следующий веток реестра:

    HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default
    HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers
    HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers

    Также необходимо очистить папку с кэшем Bitmap:

    C:\Users\%имя пользователя%\AppData\Local\Microsoft\Terminal Server Client\Cache

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

    Скачайте готовый скрипт для очистки кэша

    �� Скачать bat-скрипт

    для ускорения процесса очистки, скачайте с нашего сайта готовый скрипт — исполняемый файл bat с набором команд, который автоматически выполнит выше описанные операции.

    (Запускайте данный файл, нажав на него правой кнопкой мыши, и выбрав пункт «Запуск от имени администратора».)

    Как очистить кэш клиента RDP на клиенте и на сервере из коммандной строки

    Если вам необходимо очистить кэш клиента RDP это можно сделать следующим скриптом:

    REG DELETE "HKCUSoftwareMicrosoftTerminal Server Client" /F DEL /F /S /Q /A %UserProfile%DocumentsDefault.rdp DEL /F /S /Q /A %AppData%MicrosoftWindowsRecentAutomaticDestinations1bc392b8e104a00e.automaticDestinations-ms

    После этого все пароли будут удалены и все настройки так же.

    Есть проблемы с установкой и настройкой терминальных серверов ? обращайтесь — [email protected]

    Похожие статьи:

    1. Тестирование подключения к Microsoft SQL серверу из коммандной строки
    2. Просмотреть список процессов в Windows из коммандной строки
    3. Как очистить корзину Active Directory
    4. Выгода для клиента по комплексному обслуживанию

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

    УСЛУГИ

    • Администрирование серверов
    • Установка и настройка сервера
    • Highload веб сервер
    • Оптимизация производительности сервера и сайта
    • Администратор DevOPS
    • Безопасность сервера и сайта
    • IT Аудит сайта и сервера
    • IP телефония
    • Разработка и техподдержка битрикс
    • Система заявок Service Desk
    • Переход в облако
    • Аутсорсинг ИТ инфраструктуры

    О КОМПАНИИ

    Наша компания состоит из команды Linux/Windows администраторов с опытом более 15 лет, DevOps инженеров, специалистов в области информационной безопасности, виртуализации и облачных систем. Занимаемся круглосуточной поддержкой высоконагруженных сайтов и серверов. Выполняем проектирование, построение и поддержку наземных, облачных и гибридных инфраструктур.

    Свежие записи

    • ПОЧЕМУ АУТСОРСИНГ DEVOPS ЛУЧШЕ, ЧЕМ ШТАТНЫЙ СОТРУДНИК
    • Использование Active Directory в Azure для повышения производительности
    • ИЗУЧЕНИЕ ПРЕИМУЩЕСТВ ИСПОЛЬЗОВАНИЯ AZURE ДЛЯ УСПЕХА В БИЗНЕСЕ
    • ОСНОВНЫЕ ИНСТРУМЕНТЫ ДЛЯ DEVOPS В ОБЛАКЕ
    • ЭФФЕКТИВНЫЙ ПЕРЕНОС ДАННЫХ В AZURE

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

    При использовании встроенного клиента подключений через удалённый рабочий стол (mstsc.exe) нужно быть готовым к тому, что Windows сохраняет историю подключений. Сохраняются имя или IP-адрес удалённого устройства и имя пользователя, под которым было осуществлено подключение. Иногда это может приводить к глюкам операционной системы. Впрочем, и без последних иногда возникает необходимость очистить историю RDP-подключений.

    К примеру, Вы подключаетесь по RDP с общедоступного компьютера. Не лучшая мысль, но иногда так складываются обстоятельства. Информация о подключениях хранится в реестре Windows отдельно для каждого пользователя. Таким образом, если пользователь не обладает правами администратора в системе, историю чужих подключений он не посмотрит. А вот администратор может посмотреть чужие подключения.

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

    Итак, посмотрим, что у нас в реестре. Откройте реестр Windows командой regedit . Можно вбить в командной строке или через ПускВыполнить.

    Нас интересует ветка HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client. Обратим внимание на подразделы Default и Servers. Первый хранит информацию о 10 последних подключениях, а второй содержит в себе перечень всех удалённых устройств и имён пользователей, которые использовались для подключения по RDP.

    Зайдя в HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default, вы увидите десять ключей реестра с именами от MRU0 по MRU9 (Most Recently Used). Удалите их, чтобы очистить историю подключений по RDP.

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

    Если развернуть HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers, то можно увидеть перечень хостов, к которым ранее подключались под текущим пользователем. Интересны ключи UsernameHint и CertHash. Это имя пользователя, которое ранее использовалось для подключения к хосту, и отпечаток RDP-сертификата сервера. Имя пользователя из UsernameHint будет подставлено при следующей попытке подключения к удалённому компьютеру.

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

    Удалите содержимое ветки HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers. Если подразделов там много, можно удалить раздел Servers целиком, а потом создать новый пустой с таким же именем.

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

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

    Но и это ещё не всё. Информацию о последних RDP-сессиях Windows хранит ещё и в списках быстрого перехода (jump lists). Если набрать в поисковой строке «mstsc», то можно будет увидеть совершённые ранее подключения. Чтобы отключить ведение истории, откройте в реестре ветку HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced, найдите там ключ Start_TrackDocs (или создайте, если ключ отсутствует) и задайте ему значение 0 (тип DWORD). Для очистки уже существующих списков, нужно удалить файлы в каталоге %AppData%\Microsoft\Windows\Recent\AutomaticDestinations.

    Вышеописанные действия можно автоматизировать. Ниже пример скрипта:

    @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

    Что делает данный скрипт?

    1. Отключение вывода информации в консоль;
    2. Очистка информации о последних 10 подключениях;
    3. Очистка информации о ранее сделанных подключениях путём пересоздания раздела Server;
    4. Убирание атрибутов Скрытый и Системный у файла Default.rdp в каталоге текущего пользователя;
    5. Удаление файла Default.rdp;
    6. Очистка списков быстрого перехода.

    Скрипт с подобной функциональностью в 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

    Запрет на сохранение истории подключений через RDP

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

    Щёлкнув правой кнопкой мыши по разделу HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client, выберите пункт Разрешения.

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

    В открывшемся окне нажмите на кнопку Дополнительно и отключите наследование разрешений от родительских объектов. После этого надо выставить запреты на любые действия с этой веткой для всех пользователей. Это помешает операционной системе записать информацию о подключениях в реестр.

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

    Отключение кэширования изображений

    Во встроенном RDP-клиенте Windows есть функция кэширования изображений. Клиент RDP сохраняет редко изменяющиеся куски удалённого рабочего стола в виде растровых изображений. Это уменьшает количество данных, передающихся по сети.

    Кэш находится в папке %LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache и представляет из себя файлы с расширениями bmc и bin. В них хранятся растровые изображения размером 64×64 пикселя. При помощи несложных скриптов из этих изображений можно сложить часть удалённого рабочего стола.

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

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

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

    После всех этих манипуляций подключения к удалённому рабочему столу в Windows станут чуть приватнее.

    Добавить комментарий

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