Czyszczenie historii połączeń RDP systemu Windows

Klient RDP w systemie Windows (mstsc.exe), przy każdym udanym połączeniu ze zdalnym komputerem, zapisuje swoją nazwę (lub adres IP) i nazwę użytkownika, pod którą był zalogowany w systemie. Przy następnym uruchomieniu klient RDP monituje użytkownika o wybranie jednego z połączeń, z których już wcześniej korzystał. Użytkownik może wybrać nazwę zdalnego serwera rdp z listy, a klient automatycznie zastępuje nazwę użytkownika użytą wcześniej do logowania.

Jest to wygodne z punktu widzenia użytkownika końcowego, ale nie jest bezpieczne z punktu widzenia bezpieczeństwa, szczególnie gdy połączenie rdp jest inicjowane z komputera publicznego lub niezaufanego.

Informacje o sesjach terminalowych są przechowywane osobno dla każdego użytkownika komputera w jego profilu, tj. użytkownik (co oznacza zwykłego użytkownika, a nie administratora) nie będzie mógł wyświetlić historii połączeń innego użytkownika.

W tym artykule pokażemy, gdzie w systemie Windows przechowywana jest historia połączeń ze zdalnymi komputerami stacjonarnymi i zapisane hasła oraz jak wyczyścić tę historię.

Treść

  • Usuwanie dziennika RDP połączeń z rejestru systemu
  • Czyszczenie historii (dzienników) połączeń RDP za pomocą skryptu
  • Usuń zapisane hasła RDP

Usuwanie dziennika RDP połączeń z rejestru systemu

Informacje o wszystkich połączeniach RDP są przechowywane w rejestrze każdego użytkownika. Usuwanie komputerów z listy historii połączeń RDP przy użyciu zwykłych narzędzi systemu Windows nie działa, konieczne będzie ręczne usunięcie kluczy w rejestrze systemu.

  1. Otwórz edytor rejestru regedit.exe i przejdź do oddziału HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client
  2. Jesteśmy zainteresowani dwiema atrakcjami: Domyślnie (przechowuje historię ostatnich 10 połączeń RDP) i Serwery (zawiera listę wszystkich serwerów rdp i nazw użytkowników używanych poprzednio do logowania)
  3. Rozwiń gałąź rejestru HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \Domyślnie, który zawiera listę 10 adresów lub nazw komputerów zdalnych, które były ostatnio używane (MRU - ostatnio używane). Nazwa (adres IP) serwera terminali jest przechowywana w wartości klucza MRU *. Aby wyczyścić historię ostatnich połączeń RDP, wybierz wszystkie klucze z nazwami MRU0-MRU9, kliknij prawym przyciskiem myszy i wybierz Usuń.
  4. Następnie rozwiń HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \Serwery. Zawiera listę wszystkich połączeń RDC (klient pulpitu zdalnego), które kiedykolwiek zostały zainstalowane z tego komputera. Jeśli rozwiniesz gałąź o nazwę (adres IP) dowolnego serwera, to w kluczu Nazwa użytkownika (wskazówka dotycząca nazwy użytkownika) możesz zobaczyć nazwę użytkownika, pod którą zostało nawiązane połączenie rdp.
  5. Aby wyczyścić historię wszystkich połączeń RDP i zapisanych nazw użytkowników, musisz wyczyścić zawartość gałęzi rejestru Serwery. Ponieważ nie można wybrać wszystkich gałęzi, najłatwiej jest usunąć całą gałąź Serwery, a następnie odtworzyć ją ręcznie.
  6. Oprócz określonych kluczy rejestru należy usunąć domyślny plik połączenia rdp Domyślnie.rdp (zawiera informacje o najnowszym połączeniu rdp. Plik jest ukryty i znajduje się w katalogu Dokumenty (Dokumenty).
Uwaga. Opisana metoda czyszczenia historii połączeń RDP terminalowych działa na wszystkich wersjach Windows XP, Vista, Windows 7, Windows 8 (jak włączyć rdp w Windows 8) i Windows 10, a także na platformach serwerowych Windows Server 2003/2008/2012/2016.

Czyszczenie historii (dzienników) połączeń RDP za pomocą skryptu

Powyżej zbadaliśmy metodę „ręcznego” czyszczenia historii związków. Jednak wykonanie tego ręcznie (szczególnie na kilku komputerach) jest dość długim zadaniem. Dlatego oferujemy mały skrypt (plik bat), który pozwala automatycznie wyczyścić historię połączeń ze zdalnymi komputerami stacjonarnymi.

Aby zautomatyzować czyszczenie historii RDP, ten skrypt można umieścić w funkcji automatycznego ładowania lub rozpowszechnić na komputerach użytkowników za pomocą zasad grupy.

@echo off reg usuń „HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \ Default” / va / f reg usuń „HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Client \ Servers” / f reg dodaj „HKEY_CURRENT_USER \ Software \ Microsoft \ Terminal Server Klient \ Serwery "cd% profil użytkownika% \ dokumenty \ atrybut domyślny.rdp -s -h del Default.rdp

Przeanalizujemy wszystkie działania skryptu:

  1. Wyłącz wysyłanie informacji do konsoli
  2. Usuń wszystkie wartości z gałęzi HKCU \ Software \ Microsoft \ Terminal Server Client \ Default (wyczyść listę ostatnich połączeń RDP)
  3. Usuń całą zawartość gałęzi HKCU \ Software \ Microsoft \ Terminal Server Client \ Servers (czyszczenie historii połączeń RDP i zapisanych nazw użytkowników)
  4. Utwórz ponownie wcześniej usunięty oddział
  5. Przejdź do katalogu z plikiem Default.rdp. Pamiętaj, że w takim przypadku ścieżka do folderu Dokumenty będzie się różnić w zależności od wersji i języka systemu Windows. W tym przykładzie podano ścieżkę dla Windows 7 En, dla XP RUS będzie wyglądał jak cd% userprofile% \ „Moje dokumenty”, dla XP ENG będzie wyglądał jak cd% userprofile% \ ”Moje dokumenty” itp..
  6. Zmień atrybuty pliku Default.rdp - domyślnie jest to system i jest ukryty (jak wyświetlać ukryte pliki w systemie Windows)
  7. Usuń plik Default.rdp

Gotowy skrypt możesz pobrać tutaj: CleanRDPHistory.bat

Ponadto można wyczyścić historię połączeń RDP za pomocą następującego skryptu PowerShell:

Get-ChildItem „HKCU: \ Software \ Microsoft \ Terminal Server Client” -Recurse | Remove-ItemProperty -Name Nazwa użytkownika Wskazówka -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 = [środowisko] :: getfolderpath ("mydocuments") + '\ Default.rdp'
remove-item $ docsfoldes -Force 2> & 1 | Out-null

Uwaga. Nawiasem mówiąc, funkcja czyszczenia dziennika RDC jest wbudowana w wiele „urządzeń czyszczących” systemu i rejestru, takich jak CCCleaner itp..

Jeśli w systemie Windows musisz całkowicie zablokować historię połączeń pulpitu zdalnego, możesz spróbować uniemożliwić systemowi zapisywanie w tej gałęzi rejestru (ale powinieneś zrozumieć, że jest to już nieobsługiwana konfiguracja ...).

Usuń zapisane hasła RDP

W przypadku, gdy podczas konfigurowania zdalnego połączenia RDP, przed wprowadzeniem hasła, użytkownik zaznaczy pole wyboru Zapamiętaj mnie, nazwa użytkownika i hasło zostaną zapisane w systemowym menedżerze haseł systemu (Credential Manager). Przy następnym połączeniu z tym samym komputerem klient RDP automatycznie użyje wcześniej zapisanego hasła do autoryzacji na komputerze zdalnym.

Możesz usunąć to hasło bezpośrednio z okna klienta mstsc.exe. Wybierz to samo połączenie z listy połączeń i kliknij przycisk Usuń. Następnie potwierdź usunięcie zapisanego hasła.

Możesz też usunąć zapisane hasło bezpośrednio z menedżera haseł systemu Windows. Otwórz panel sterowania i przejdź do sekcji Panel sterowania \ Konta użytkowników \ ​​Menedżer poświadczeń. Wybierz Zarządzaj Windows Poświadczenia a na liście zapisanych haseł znajdź nazwę komputera (w formacie TERMSRV / 192.168.1.100). Rozwiń znaleziony element i kliknij przycisk. Usuń.

W środowisku domeny hasła można wyłączyć dla połączeń RDP przy użyciu zasad Sieć dostęp: Do nie pozwolić magazynowanie z hasła i poświadczenia dla sieć uwierzytelnienie (zobacz artykuł).