Jak mogę się upewnić, że użytkownicy wylogowują się z sesji pulpitu zdalnego zamiast po prostu zamykają okno RDP?

19

Mamy kilka serwerów, do których nasi inżynierowie zdalnie korzystają z pulpitu, ale każdy serwer ma limit dwóch połączeń. Często będziemy próbować RDP w tych polach i zobaczymy komunikat „Ta maszyna przekroczyła maksymalną liczbę połączeń”.

To duży ból, ponieważ wysłaliśmy kilka wiadomości e-mail do tych użytkowników, a oni nigdy nie rozumieją, o co chodzi.

Wiem, jak połączyć się z konsolą root i uruchomić ludzi, ale wolałbym tego nie robić. Wiem też, że istnieją sposoby na uruchomienie nieaktywnych sesji po pewnym czasie i nie chcę tego robić.

Chcę zmusić użytkowników do dowiedzenia się , że muszą się wylogować. Nie dzieje się tak, jeśli wylogujesz je ręcznie (a wylogowanie ich ręcznie jest uciążliwe). Jeśli wylogujesz je ręcznie, inżynierowie nie zastanowią się dwa razy nad utrzymaniem połączenia w sesji RDP, ponieważ jest to dla nich wygodne.

Wolałbym jakiś system powiadomień, w którym nieistotny użytkownik zostanie powiadomiony za pośrednictwem wiadomości e-mail lub wiadomości NET SEND, że jego konto jest odłączane od komputera. W ten sposób zdadzą sobie sprawę, że robią coś złego. Co więcej, jeśli kilkakrotnie naruszają zasady, chciałbym, aby ich konto zostało zablokowane, dopóki administrator systemu go nie odblokuje.

Czy istnieje sposób na osiągnięcie celu polegającego na ręcznym wylogowaniu użytkowników? Wszystkie sugestie są mile widziane.

JackAce
źródło
Najlepszym praktycznym sposobem, jaki mogę wymyślić, jest to, co już robisz. Wyślij je pocztą, ale dodaj „użytkownik A i użytkownik B obecnie aktywnie pracują na tym komputerze. Czy któryś z was może korzystać z poczty po zakończeniu i wylogowaniu? ”. Cel: Tak, czekasz. Są to ludzie, którzy zapomnieli się wylogować, złożyć skargę. Ponadto, jeśli naprawdę potrzebujesz więcej użytkowników, istnieje rozwiązanie: Serwer terminali. O ile wiem, oznacza to płacenie za licencję i zmianę jednej biblioteki DLL.
Hennes

Odpowiedzi:

15

Możesz użyć narzędzi do konfiguracji hosta sesji pulpitu zdalnego lub (lepszych) zasad grupy, aby zdefiniować reguły wokół rozłączeń RDP.

Jeśli korzystasz z zasad grupy i jednostek organizacyjnych, będziesz w stanie pozwolić niektórym użytkownikom pozostać „rozłączonymi” i zmusić innych do wylogowania po rozłączeniu.

W szczególności sprawdź te gałęzie zasad:

  • Konfiguracja komputera \ Zasady \ Szablony administracyjne \ Składniki systemu Windows \ Usługi pulpitu zdalnego \ Host sesji usług pulpitu zdalnego \ Limity czasu sesji
  • Konfiguracja użytkownika \ Zasady \ Szablony administracyjne \ Składniki systemu Windows \ Usługi pulpitu zdalnego \ Host sesji usług pulpitu zdalnego \ Limity czasu sesji

I takie polityki:

Zakończ rozłączoną sesję

Określ maksymalny czas, przez który rozłączona sesja użytkownika będzie aktywna na serwerze RD Session Host. Jeśli wybierzesz „Nigdy”, rozłączona sesja użytkownika będzie utrzymywana przez nieograniczony czas.

Gdy sesja jest w stanie rozłączonym, uruchomione programy są aktywne, nawet jeśli użytkownik nie jest już aktywnie połączony.

.

Po osiągnięciu limitu sesji lub zerwaniu połączenia

Określ, czy ma zostać odłączona czy zakończona sesja usług pulpitu zdalnego użytkownika, gdy zostanie osiągnięty limit sesji aktywnej lub limit sesji bezczynnej.

Jeśli sesja użytkownika zostanie rozłączona, uruchomione przez nią programy są aktywne, nawet jeśli użytkownik nie jest już aktywnie połączony.

Jeśli sesja użytkownika zostanie zakończona, użytkownik będzie musiał ustanowić nową sesję usług pulpitu zdalnego z serwerem hosta sesji usług pulpitu zdalnego.

Aby uzyskać więcej informacji, sprawdź tę stronę od MS na temat zasad rozłączania RDP.

Ƭᴇcʜιᴇ007
źródło
Omówiono również na ServerFault: serverfault.com/questions/301640/…
1

Wydaje mi się, że w przypadku systemu powiadomień należy go opracować przy użyciu interfejsów API, takich jak WTSEnumerateSession .

Oznacza to opracowanie czegoś w rodzaju usługi Windows, która regularnie sprawdzałaby twoje serwery w celu wyłapywania rozłączonych sesji i robienia z nimi, co chcesz.

To może zająć ci kilka dni pracy, aby to zrobić dobrze.

W przeciwnym razie proponuję inne podejście do tego problemu:

  • Skonfiguruj dwie grupy użytkowników RDP na serwerach: powiedzmy TrustedDisconnectors i UntrustedDisconnectors.
  • Skonfiguruj zasady dla UntrustedDisconnectors, powodując, że ich sesja zostanie wylogowana z nieco krótszym czasem oczekiwania na rozłączenie.
  • Powiadom o tej zmianie. Stwierdza, że ​​inżynierowie często niepoprawnie rozłączający się bez ważnego powodu nie będą mogli rozłączyć się bez wylogowania.
Frédéric
źródło
0

Nie jestem pewien, ile to pomoże, ale warto rzucić okiem na użycie przeglądarki VNC . Można go skonfigurować tak, aby się wylogowywał po rozłączeniu ostatniej przeglądarki.

Następnie można zmusić użytkowników do korzystania z VNC, blokując port RDP na komputerze.

greg84
źródło
1
Czy VNC nie zezwala tylko na jedno połączenie? To może pogorszyć sprawę (próba zalogowania się, gdy ktoś jest już zalogowany). Plus VNC denerwuje mnie, ponieważ ktoś może stać przed maszyną, którą kontrolujesz, obserwując wszystko, co piszesz, nawet o tym nie wiedząc.
JackAce
1
Ponadto są chwile, w których prawnie chcesz się rozłączyć i pozwolić, aby niektóre operacje były kontynuowane. Są chwile, kiedy chcę rozłączyć się, kiedy wychodzę z pracy, a następnie ponownie połączyć się z domu.
JackAce
Uważaj na VNC ... jeśli używasz szyfrowania symetrycznego (jednego hasła dla wszystkich użytkowników), można go łatwo odszyfrować: raymond.cc/blog/crack-or-decrypt-vnc-server-encrypted-password
Mick