Windows Server 2022, jako następca stabilnego wydania 2019, przynosi znaczące udoskonalenia w warstwie zabezpieczeń i zarządzania sesjami użytkowników. Jedną z funkcji, która zyskała nowe opcje konfiguracyjne i poprawki bezpieczeństwa, jest Remote Desktop Shadowing – tryb umożliwiający administratorom zdalny podgląd oraz interakcję z sesjami użytkowników końcowych. Mechanizm ten, znany również jako shadow mode, stanowi nieocenione narzędzie w scenariuszach wsparcia technicznego, szkoleń oraz audytu zgodności. W niniejszym artykule szczegółowo omawiamy architekturę, konfigurację, najlepsze praktyki oraz najczęstsze problemy związane z wdrażaniem trybu Shadow w środowisku Remote Desktop Services na platformie Windows Server 2022.
Architektura trybu Shadow w Windows Server 2022
Tryb Shadow w Windows Server 2022 opiera się na protokole Remote Desktop Protocol w wersji 10.8, który wprowadza usprawnione mechanizmy multipleksowania strumieni wideo. Gdy administrator inicjuje sesję Shadow, broker połączeń RDS (Connection Broker) tworzy dodatkowy wirtualny kanał w istniejącym połączeniu RDP, nie nawiązując nowego, niezależnego tunelu sieciowego. Takie podejście redukuje obciążenie infrastruktury i minimalizuje opóźnienia odczuwane przez użytkownika końcowego.
Rdzeniem architektury jest usługa Remote Desktop Shadow, która działa w kontekście procesu termsrv.dll na hoście sesji (RDSH) lub na maszynie wirtualnej w kolekcji VDI. Usługa ta odpowiada za negocjację poziomu dostępu – od pasywnego podglądu po pełną interakcję z klawiaturą i myszą – oraz egzekwuje polityki zgody użytkownika skonfigurowane w zasadach grupy. W odróżnieniu od Windows Server 2019, edycja 2022 umożliwia szczegółowe logowanie zdarzeń Shadow w kanale Microsoft-Windows-TerminalServices-LocalSessionManager/Operational, co stanowi istotne wzmocnienie ścieżki audytu.
Nowością w architekturze jest natywna integracja z Azure Arc oraz Microsoft Defender for Identity. Tryb Shadow może teraz korzystać z logiki warunkowej opartej na ocenie ryzyka użytkownika – jeśli kontu przypisano podwyższony poziom ryzyka w Azure AD, administrator może zostać automatycznie powiadomiony lub sesja Shadow może zostać wymuszona w trybie wyłącznie podglądu.
Wymagania wstępne i licencjonowanie
Przed przystąpieniem do konfiguracji trybu Shadow należy spełnić określone wymagania licencyjne i infrastrukturalne. Funkcja Remote Desktop Shadowing jest dostępna wyłącznie w ramach licencji Windows Server 2022 z aktywowaną rolą Remote Desktop Services, z przypisanymi licencjami dostępu klienta (RDS CAL) w modelu na użytkownika lub na urządzenie. Administrator inicjujący sesję Shadow musi posiadać uprawnienia Query i Control na poziomie kolekcji RDS.
W środowisku czysto lokalnym (on-premises) host sesji musi działać co najmniej w wersji Standard lub Datacenter systemu Windows Server 2022. W scenariuszach hybrydowych, gdzie część infrastruktury znajduje się w chmurze, zaleca się wdrożenie agenta Azure Connected Machine w wersji nie niższej niż 1.33. Komunikacja między hostem sesji a stacją administratora wymaga otwartych portów 3389 (RDP) oraz dynamicznego zakresu portów TCP 49152–65535, chyba że w rejestrze zdefiniowano dedykowany zakres dla RDS Shadow (klucz HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber).
Warto podkreślić, że w przypadku wdrożeń opartych na Azure Virtual Desktop z systemem Windows Server 2022 w warstwie hosta sesji, tryb Shadow jest realizowany poprzez dedykowane polecenia Azure PowerShell, a nie klasyczne narzędzie mstsc /shadow. Od wersji AVD Spring 2025 Update (kompilacja 10.5.0.1) dostępne jest ujednolicone polecenie Invoke-AzWvdSessionHostShadow, które transparentnie obsługuje różnice między środowiskiem czysto lokalnym a chmurowym.
Konfiguracja zasad grupy dla trybu Shadow
Kluczowym etapem wdrożenia trybu Shadow jest prawidłowa konfiguracja zasad grupy (Group Policy), które definiują zachowanie mechanizmu. Wszystkie istotne ustawienia znajdują się w ścieżce Konfiguracja komputera → Szablony administracyjne → Składniki systemu Windows → Usługi pulpitu zdalnego → Host sesji usług pulpitu zdalnego → Connections. Windows Server 2022 wprowadza trzy nowe zasady, nieobecne w wydaniu 2019.
Pierwszą z nich jest Zezwalaj na zdalne sterowanie sesjami użytkowników z wykorzystaniem szyfrowania warstwy transportowej (TLS 1.3). Włączenie tej zasady wymusza, aby cały strumień danych sesji Shadow był szyfrowany przy użyciu TLS 1.3 z wymaganą doskonałą tajnością przekazywania (PFS), co uniemożliwia pasywne podsłuchiwanie ruchu nawet w przypadku późniejszego złamania klucza prywatnego serwera.
Druga nowa zasada – Ogranicz tryb Shadow do sesji z tym samym poziomem integralności – zapobiega sytuacji, w której proces o niższym poziomie integralności mógłby próbować podglądać sesję procesu z wyższym poziomem, co stanowiło potencjalny wektor ataku w starszych wersjach.
Trzecia zasada, Rejestruj wszystkie sesje Shadow w dzienniku zdarzeń, jest domyślnie włączona w Windows Server 2022. Każda inicjacja i zakończenie sesji Shadow generuje zdarzenia o identyfikatorach 206 (rozpoczęcie) i 207 (zakończenie) w dzienniku operacyjnym, zawierające identyfikator SID użytkownika źródłowego i docelowego, znacznik czasu oraz zastosowany poziom kontroli.
Standardowe ustawienia poziomu kontroli pozostają niezmienione: Bez zgody użytkownika – tylko podgląd, Za zgodą użytkownika – tylko podgląd, Za zgodą użytkownika – pełna kontrola oraz Bez zgody użytkownika – pełna kontrola. Wersja 2022 rekomenduje w polityce bezpieczeństwa Microsoft domyślne ustawienie wymagające zgody użytkownika przy pełnej kontroli, chyba że organizacja wdrożyła dodatkowe mechanizmy autoryzacji dwuskładnikowej dla administratorów.
Inicjowanie sesji Shadow z poziomu wiersza polecenia
Windows Server 2022 oferuje kilka metod inicjowania sesji Shadow, z których najczęściej wykorzystywane są narzędzie graficzne mstsc.exe oraz polecenia wydawane z konsoli. Poniżej przedstawiamy praktyczne przykłady dla różnych scenariuszy.
Aby wyświetlić listę aktywnych sesji na hoście sesji RDSH:
query session /server:RDSH-SRV-01
Polecenie zwraca identyfikator sesji (ID), nazwę użytkownika, stan oraz typ sesji. Znając identyfikator sesji docelowej, administrator może zainicjować tryb Shadow z domyślną kontrolą:
mstsc /shadow:3 /v:RDSH-SRV-01
Gdzie 3 to identyfikator sesji, a RDSH-SRV-01 to nazwa hosta sesji. Przełącznik /prompt wymusza wyświetlenie monitu o zgodę użytkownika docelowego, nawet jeśli zasady grupy dopuszczają kontrolę bez zgody:
mstsc /shadow:3 /v:RDSH-SRV-01 /prompt
Przełącznik /control umożliwia przejęcie pełnej kontroli nad sesją (klawiatura i mysz), o ile pozwalają na to skonfigurowane zasady:
mstsc /shadow:5 /v:RDSH-SRV-01 /control
W Windows Server 2022 dodano nowy przełącznik /noConsentPrompt, który można wykorzystać wyłącznie w sesjach PowerShell uruchomionych z uprawnieniami SYSTEM, z pominięciem wymogu zgody użytkownika – opcja ta jest dostępna jedynie po uprzednim włączeniu zasady Zezwalaj na zdalne sterowanie bez zgody użytkownika.
Dla zaawansowanych scenariuszy automatyzacji, Microsoft udostępnia moduł PowerShell RemoteDesktopShadow, dostępny od wersji 2022.04.01 modułu RSAT. Przykład użycia:
Start-RdsShadowSession -SessionId 3 -HostServer RDSH-SRV-01 -ControlLevel ViewOnly
Różnice między trybem Shadow a Remote Control
Częstym źródłem nieporozumień jest rozróżnienie między terminami "Remote Desktop Shadow" oraz "Remote Control". Oba mechanizmy służą do obserwacji sesji użytkownika, jednak różnią się fundamentalnie pod względem architektury i przeznaczenia.
Remote Desktop Shadow jest funkcją natywnie wbudowaną w stos RDS i operuje na istniejącym kanale RDP, współdzieląc strumień wideo między użytkownikiem końcowym a administratorem. Działa w architekturze terminal services shadowing, gdzie klient administratora odbiera renderowaną zawartość pulpitu bez ingerencji w procesy graficzne po stronie serwera. Mechanizm ten jest dostępny wyłącznie dla hostów sesji RDSH oraz maszyn VDI z włączoną rolą pulpitu zdalnego.
Remote Control, z kolei, jest funkcją oferowaną przez zewnętrzne narzędzia, takie jak Microsoft Intune Suite z dodatkiem Remote Help, TeamViewer czy AnyDesk. Działają one poprzez instalację agenta na stacji roboczej i zestawienie niezależnego połączenia sieciowego, często z wykorzystaniem serwerów pośredniczących producenta. W Windows Server 2022 funkcja Remote Control w Intune (Remote Help) została rozszerzona o możliwość podglądu sesji RDS, jednak nadal wymaga licencji Intune Suite i nie jest częścią natywnego stosu RDS.
Kluczowe różnice podsumowuje poniższa tabela:
| Cecha | Remote Desktop Shadow | Remote Control (Intune Remote Help) |
|---|---|---|
| Architektura | Współdzielenie kanału RDP | Niezależny agent i połączenie |
| Licencjonowanie | RDS CAL | Intune Suite |
| Zależność od sieci LAN | Wymagana łączność z RDSH | Działa przez internet |
| Poziom interakcji | Podgląd lub pełna kontrola | Pełna kontrola z podniesionymi uprawnieniami |
| Zgoda użytkownika | Konfigurowalna w GPO | Zawsze wymagana |
| Rejestrowanie sesji | Dziennik zdarzeń Windows | Dziennik Microsoft Intune |
Bezpieczeństwo i zgodność
Wprowadzenie trybu Shadow w środowisku produkcyjnym niesie ze sobą istotne implikacje dla bezpieczeństwa informacji i zgodności z regulacjami. Windows Server 2022 implementuje szereg mechanizmów, które pomagają organizacjom spełnić wymogi standardów takich jak PCI DSS 4.0.1, HIPAA oraz RODO.
Każda sesja Shadow jest teraz rejestrowana z dokładnym znacznikiem czasu, identyfikatorem użytkownika inicjującego, identyfikatorem sesji docelowej oraz poziomem kontroli. Dane te są dostępne w dzienniku Microsoft-Windows-TerminalServices-LocalSessionManager/Operational i mogą być przekazywane do narzędzi SIEM, takich jak Microsoft Sentinel, za pośrednictwem wbudowanego łącznika danych.
Nowością w wydaniu 2022 jest mechanizm Session Shadow Just-In-Time, który umożliwia przyznawanie uprawnień do inicjowania trybu Shadow wyłącznie na określony, ograniczony czas, po wcześniejszym zatwierdzeniu przez drugiego administratora. Funkcja ta korzysta z Microsoft Privileged Access Management (PAM) i wymaga skonfigurowania roli Shadow Session Approver w Azure AD Privileged Identity Management.
Dodatkowo, Windows Defender Application Control może ograniczyć, które pliki wykonywalne mają prawo wywoływać API trybu Shadow. Domyślna polityka blokuje wszystkie niepodpisane procesy, dopuszczając jedynie mstsc.exe, msrdc.exe oraz wksprt.exe w wersjach z podpisem Microsoft. Administratorzy powinni rozważyć wdrożenie tej polityki w organizacjach o podwyższonych wymaganiach bezpieczeństwa, aby zapobiec potencjalnemu nadużyciu trybu Shadow przez złośliwe oprogramowanie.
Najczęstsze problemy i rozwiązywanie błędów
Pomimo dojrzałości mechanizmu trybu Shadow, wdrożenie w środowisku Windows Server 2022 może napotykać na szereg typowych problemów. Poniżej przedstawiamy najczęściej zgłaszane błędy oraz sprawdzone metody ich rozwiązywania.
Błąd "Access is denied" (dostęp zabroniony) – występuje, gdy konto administratora nie ma uprawnień Query i Control na poziomie kolekcji RDS. Rozwiązanie: w konsoli Server Manager, w sekcji Remote Desktop Services → Collections, należy dodać konto administratora do grupy uprawnień z poziomem Full Control. W przypadku wdrożeń z wysoką dostępnością zmianę należy wykonać na aktywnym brokerze połączeń.
Komunikat o rozbieżności wersji RDP – pojawia się, gdy klient mstsc.exe na stacji administratora jest starszy niż wersja protokołu na hoście sesji. Windows Server 2022 wymaga protokołu RDP 10.8 lub nowszego po stronie klienta. Rozwiązanie: zaktualizować system Windows na stacji administratora do wersji 22H2 lub nowszej, bądź ręcznie zainstalować aktualizację KB5030504, która zawiera komponent RDP 10.8 dla systemów Windows 10 i 11.
Sesja Shadow urywa się po kilku sekundach – problem ten często dotyczy środowisk z włączoną akceleracją GPU (RemoteFX vGPU lub Discrete Device Assignment). W Windows Server 2022 sterownik graficzny musi obsługiwać multipleksowanie strumieni. Rozwiązanie: zainstalować sterownik GPU w wersji zgodnej z WDDM 3.0 i sprawdzić, czy w ustawieniach kolekcji RDS wyłączono opcję Use hardware graphics adapters for all Remote Desktop Services sessions.
Brak możliwości zainicjowania trybu Shadow w sesji z podwyższonym poziomem integralności – jest to działanie zgodne z nową polityką bezpieczeństwa Windows Server 2022. Sesje UAC działające z poziomem integralności High nie mogą być domyślnie podglądane przez administratora. Rozwiązanie: wyłączyć zasadę Ogranicz tryb Shadow do sesji z tym samym poziomem integralności w GPO lub użyć konta z tokenem SYSTEM.
Częste pytania
Czy tryb Shadow w Windows Server 2022 wymaga dodatkowych licencji?
Nie. Tryb Shadow wykorzystuje istniejące licencje RDS CAL i jest natywną funkcją roli Remote Desktop Services. Nie są wymagane dodatkowe licencje Microsoft Intune ani System Center. Jedynym warunkiem jest posiadanie odpowiedniej liczby licencji RDS CAL dla użytkowników lub urządzeń korzystających z infrastruktury RDS.
Czy użytkownik może odmówić zgody na sesję Shadow?
Tak, o ile zasady grupy nie zostały skonfigurowane na opcję "Bez zgody użytkownika". Windows Server 2022 domyślnie wymaga zgody użytkownika dla pełnej kontroli. Użytkownik widzi monit z przyciskiem "Odmów", który przerywa proces inicjacji sesji Shadow.
Jak sprawdzić, czy sesja Shadow jest aktywna na hoście sesji?
W konsoli PowerShell należy wykonać polecenie query session /server:NazwaSerwera. Sesje Shadow są oznaczone jako stan Shadow w kolumnie STATE. Dodatkowo, w Menedżerze zadań na hoście sesji, proces mstsc.exe z parametrem /shadow w wierszu poleceń wskazuje na aktywną sesję administratora.
Czy tryb Shadow działa przez internet?
Domyślnie nie. Tryb Shadow wymaga, aby stacja administratora mogła komunikować się bezpośrednio z hostem sesji RDSH przez port 3389. W scenariuszach zdalnych zaleca się używanie VPN lub bramy usług pulpitu zdalnego (RD Gateway), która tuneluje ruch RDP przez HTTPS.
Jakie zdarzenia w dzienniku systemowym wskazują na inicjację trybu Shadow?
W dzienniku Microsoft-Windows-TerminalServices-LocalSessionManager/Operational zdarzenia o ID 206 (rozpoczęcie) i 207 (zakończenie) rejestrują każdą sesję Shadow. Zdarzenie 206 zawiera SID administratora, SID użytkownika docelowego, identyfikator sesji oraz poziom kontroli (ViewOnly lub FullControl).
Czy można nagrywać sesje Shadow?
Windows Server 2022 nie zawiera wbudowanych narzędzi do nagrywania sesji Shadow. W tym celu należy użyć zewnętrznych rozwiązań, takich jak Microsoft Purview Compliance Manager lub nagrywanie ekranu za pomocą narzędzi firm trzecich. Należy jednak pamiętać o zgodności z RODO i obowiązku informowania użytkowników o monitorowaniu.
Czy sesje Shadow są szyfrowane?
Tak. Wszystkie sesje Shadow w Windows Server 2022 są domyślnie szyfrowane przy użyciu protokołu RDP z szyfrowaniem TLS 1.2. Po włączeniu odpowiedniej zasady grupy można wymusić TLS 1.3 z doskonałą tajnością przekazywania, co zapewnia ochronę przed pasywnym podsłuchem i atakami typu downgrade.
Jak skonfigurować tryb Shadow w Azure Virtual Desktop z Windows Server 2022?
W Azure Virtual Desktop należy użyć modułu Azure PowerShell (Az.DesktopVirtualization w wersji 4.3.0 lub nowszej) i polecenia Invoke-AzWvdSessionHostShadow. Wymagane są uprawnienia RBAC na poziomie subskrypcji Azure oraz rola Desktop Virtualization User Session Operator. Klasyczne mstsc /shadow nie działa w AVD.
Czy tryb Shadow wpływa negatywnie na wydajność hosta sesji?
Obciążenie jest marginalne i wynosi około 2–5% dodatkowego zużycia procesora na sesję Shadow. Windows Server 2022 optymalizuje kodowanie wideo dla drugiego odbiorcy, wykorzystując te same bufory ramek co oryginalna sesja, co minimalizuje narzut.
Gdzie można nabyć legalne licencje Windows Server 2022 RDS CAL?
Licencje dostępu klienta (RDS CAL) do Windows Server 2022 są dostępne w oficjalnej dystrybucji Microsoft oraz u autoryzowanych partnerów. W zależności od potrzeb organizacji można wybrać model licencjonowania na użytkownika lub na urządzenie, a odpowiednie pakiety są dostępne między innymi w ofercie kluczesoft.pl.
