
Встроенный клиент Windows Remote Desktop Connection (mstsc.exe
) сохраняет имя удаленного компьютера (или IP-адрес) и имя пользователя, которое используется для входа в систему после каждого успешного подключения к удаленному узлу RDP. При следующем запуске RDP-клиента пользователь может выбрать одно из сохраненных подключений, при этом автоматически подставляется предыдущее имя пользователя. Если вы используете публичный компьютер или компьютер, которому вы не доверяете, то в целях безопасности вам может понадобиться очистить историю соединений RDP.
В этой статье описывается, где Windows хранит историю подключений к удаленному рабочему столу и учетные данные, а также как очистить историю и журналы RDP.
Удаление истории подключений к удаленному рабочему столу в Windows
Windows хранит историю подключений клиентов Remote Desktop в нескольких разных местах, и чтобы полностью очистить историю RDP, вам нужно удалить данные из всех этих мест.
Как удалить историю подключений RDP из реестра
- Откройте редактор реестра (
regedit.exe
) и перейдите к ключу reg HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client; - [По умолчанию подключ содержит записи истории за последние 10 RDP-соединения. Имена параметров следующие MRU0-MRU9 (MRU — Most Recently Used). Их значения содержат IP-адреса/имена хостовDP. Выберите все параметры реестра в этом ключе и удалите их;
- Затем разверните Серверы подключ. Здесь хранится список всех ранее использовавшихся хостов RDP и учетных записей пользователей. Имя пользователя содержится в UsernameHint параметр. Это имя пользователя автоматически вставляется в окно клиента mstsc.exe при подключении к этому хосту RDP. Параметр CertHash параметр содержит отпечаток сертификата RDP сервера (см.: «Настройка доверенных сертификатов TLS/SSL для RDP»);
- Очистите все записи в ключе реестра Servers. Самый простой способ сделать это — просто удалить весь ключ реестра Servers, а затем создать его заново вручную.
Удаление файла Default.RDP
Затем удалите скрытый Default.rdp файл из %userprofile%\Documents
папки в профиле пользователя. В этом файле хранится информация о последнем RDP-соединении.
Как просматривать и очищать журналы RDP Event Viewer в Windows
Клиент RDP также регистрирует каждое исходящее соединение в журнале Event Viewer (Applications and Services Logs -> Microsoft -> Windows -> TerminalServices-ClientActiveXCore -> Microsoft-Windows-TerminalServices-RDPClient/Operational).
Чтобы просмотреть журнал исходящих клиентских подключений RDP, используйте команду Get-WinEvent для выбора и фильтрации событий в Event Viewer:
$properties = @(
@{n='TimeStamp';e={$_.TimeCreated}}
@{n='LocalUser';e={$_.UserID}}
@{n='Target RDP host';e={$_.Properties[1].Value}}
)
Get-WinEvent -FilterHashTable @{LogName="Microsoft-Windows-TerminalServices-RDPClient/Operational";ID='1102'} | Select-Object $properties
Вы можете очистить этот журнал событий из консоли Event Viewer или с помощью команды:
WevtUtil cl Microsoft-Windows-TerminalServices-RDPClient/Operational
Удаление последних записей истории RDP из меню «Пуск» и панели задач
Windows также хранит последние подключения к удаленному рабочему столу в списках переходов. Если вы введете mstsc
в строке поиска Windows или щелкнуть правой кнопкой мыши на клиенте в панели задач, вы увидите историю предыдущих RDP-соединений в списке Recent.
Чтобы очистить историю RDP в меню «Пуск» и списках переходов, очистите список «Последние элементы», удалив файлы в списке %AppData%\Microsoft\Windows\Recent\AutomaticDestinations
каталоге.
Сценарий для очистки истории подключений RDP
Чтобы быстро очистить историю RDP-соединений в Windows, можно использовать пакетный сценарий. Этот сценарий автоматически выполнит описанные выше ручные действия по очистке истории подключений и журналов 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
Аналогичный сценарий PowerShell для очистки всех записей в истории соединений RDP:
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
$docs = [environment]::getfolderpath("mydocuments") + '\Default.rdp'
remove-item $docs -Force 2>&1 | Out-Null
Как очистить кэш растровых изображений удаленного рабочего стола?
По умолчанию клиент mstsc.exe кэширует редко изменяемые области удаленного рабочего стола в виде растровых изображений (постоянное кэширование растровых изображений). Кэш клиента RDP может значительно снизить сетевой трафик.
Кэш клиента RDP хранится в *.bmc и *.bin файлы в %LOCALAPPDATA%\Microsoft\Terminal Server Client\Cache
папке.
Кэш RDP содержит необработанные растровые изображения экрана RDP в виде плиток размером 64×64 пикселя. Злоумышленники могут использовать простые сценарии PowerShell или Python (их легко найти с помощью RDP Cached Bitmap Extractor запрос) для захвата больших областей удаленного рабочего стола из кэшированных PNG.
В целях безопасности рекомендуется очистить папку RDP cache и запретить RDP-клиенту сохранять изображение экрана в кэш. Отключите Постоянное кэширование растровых изображений опция в Дополнительно вкладка клиента Remote Desktop Connection.
Как запретить Windows сохранять историю RDP-соединений
Если вы не хотите, чтобы Windows сохраняла историю RDP-соединений, вы должны запретить запись в файл HKCU\Software\Microsoft\Terminal Server Client
ключ реестра. Первым шагом будет отключение наследования разрешений для указанного ключа реестра (Permissions -> Advanced -> Disable inheritance). Затем измените ACL ключа реестра, выбрав пункт Запретить для пользователей (но вы должны знать, что это неподдерживаемая конфигурация).
В результате mstsc.exe просто не может записать информацию о RDP-соединении в реестр.
Удаление сохраненных учетных данных RDP в Windows
Клиент RDP позволяет хранить пароль пользователя во встроенном менеджере учетных данных Windows и автоматически подключаться к удаленному узлу без ввода пароля.
Вы можете удалить сохраненные пароли RDP из окна Credential Manager (выполните команду rundll32.exe keymgr.dll,KRShowKeyMgr
). Удалите все записи с префиксом TERMSRV\
.
Также вы можете очистить сохраненные учетные данные для RDP с помощью команды:
For /F "tokens=1,2 delims= " %G in ('cmdkey /list ^| findstr "target=TERMSRV"') do cmdkey /delete %H