В версии windows 10 установленной на этом сервере не поддерживается теневой доступ пользователей

Перестало работать теневое подключение к рабочим станциям в доменной сети, OC Windows 10 Pro
10.0.19042. Служба TermService работает, порт открыт, в реестре fDenyTSConnections=0
Предположительно все началось после чистки оптимизаторами auslogics, ashampoo нерадивым стажером.
Что еще можно предпринять?

Картинка

634a4975bd6c9308322395.jpeg


  • Вопрос задан

  • 1393 просмотра

Отвечу на свой вопрос
Проблема решена методом сравнения реестров(один до оптимайзера, другой после)
В реестре

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SessionEnv

значение start должно быть 3

И еще на всякий случай проверить службу

TermService(русск. Службы удаленных рабочих столов)

запуск вручную
Либо в реестре

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService

start = 3

Пригласить эксперта

в групповых политиках gpedit.msc искал?

А случаем нe ставили CryptoPro или VipNet?
Они могут блокировать, тоже что-то в реестре ломают

Войдите, чтобы написать ответ


  • Показать ещё
    Загружается…

Минуточку внимания

Вы можете использовать возможности теневых подключений (Remote Desktop Shadowing) для удалённого подключение к сессиям пользователей на компьютерах Windows. Это функционал является по сути аналогом Remote Assistance и позволяет администраторам удаленно просматривать и взаимодействовать с рабочим столом пользователей как на десктопных версиях (Windows 11 или 10), так и на RDS серверах Windows Server.

Содержание:

  • Настройка клиентов Windows для удаленного подключения через теневые сессии
  • Удаленное подключение к сессии пользователя Windows через RDP Shadowing

Настройка клиентов Windows для удаленного подключения через теневые сессии

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

  1. Включите удаленный рабочий стол (RDP) на компьютерах пользователей (вручную или через GPO);
    включить RDP доступ к Windows 10

  2. Ваша учетная запись должна обладать правами локального администратора на компьютере пользователей (вы можете добавить пользователя в группу администраторов вручную или с помощью групповых политик);
  3. Настройте режим теневого подключения (нужно ли запрашивать подтверждение пользователя, и возможно управления в сессии или только наблюдение). Можно настроить режим через групповую политику “Установить правила удаленного управления для пользовательских сеансов служб удаленных рабочих столов” (Set rules for remote control of Remote Desktop Services user sessions) в разделе Конфигурация компьютера -> Административные шаблоны –> Компоненты Windows –> Службы удаленных рабочих столов –> Узел сеансов удаленных рабочих столов –> Подключения (Policies -> Administrative Templates -> Windows components -> Remote Desktop Services -> Remote Session Host -> Connections).
    политика Установить правила удаленного управления для пользовательских сеансов служб удаленных рабочих столов

    Доступны 5 режимов:0 – запретить удаленное управление;
    1 — полный контроль с разрешения пользователя;
    2 — полный контроль без разрешения пользователя;
    3 — наблюдение за сеансом с разрешения пользователя;
    4 — наблюдение за сеансом без разрешения пользователя.

  4. Вы можете включить нужный режим напрямую в реестре. Отредактируйте реестр вручную или с помощью команды (в этом примере мы установили 4 режим – разрешить просмотр сеанса пользователя без уведомления):
    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /t REG_DWORD /d 4

    По умолчанию данный теневое подключение выполняется в режиме полного контроля с разрешения пользователя.

  5. Настройте правила Windows Defender Firewall, разрешающие трафик теневых подключений по сети. Для трафика session shadowing в Windows вместо стандартного порта 3389/RDP используются порты 139/TCP, 445/TCP и диапазон динамических RPC портов (49152 по 65535). Чтобы разрешить входящий трафик теневых подключений, нужно включить два преднастроненных правила в Windows:
    File and Printer Sharing (SMB-In)
    и
    Remote Desktop - Shadow (TCP-In)
    . Последнее правило разрешает удаленный доступ к процессу
    RdpSa.exe
    . Вы можете включить правила Windows Defender на компьютерах пользователей через GPO или с помощью PowerShell командлета Enable-NetFirewallRule.

    правила windows defender firewall для удаленных теневых подклчений к пользователям

Удаленное подключение к сессии пользователя Windows через RDP Shadowing

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

Для теневого подключения к сессии пользователя используется стандартная RDP утилита mstsc.exe. Формат команды такой:

Mstsc.exe /shadow:<ID сессии> /v:<Имя или IP адрес компьютера>

Также можно использовать одну из опций:

  • /prompt – запросить имя и пароль пользователя, под которым выполняется подключение (если не указано, подключение выполняется под текущим пользователем).
  • /control – режим взаимодействия с сеансом пользователя. Если параметр не задан, вы подключитесь в режиме просмотра (наблюдения) сессии пользователя, т.е. вы не сможете управлять его мышью и вводить данные с клавиатуры;
  • /noConsentPrompt – не запрашивать у пользователя подтверждение на подключение к сессии.

Теперь нужно узнать имя пользователя и ID его сессии на удаленном компьютере (если пользователь работает непосредственно за консолью компьютера, то ID его сессии всегда будет равно 1).

Выведем список сессий пользователей на удаленном компьютере (это может быть как десктопный компьютер с Windows 11/10 или Windows Server с ролью Remote Desktop Services Host (RDSH).

qwinsta /server:wks-w10b01

qwinsta получить id сессии пользователя на удаленном компьютере windows

В данном примере видно, что на компьютере залогинен один пользователь a.novak, который работает непосредственно за компьютером (
SESSIONNAME=console
). Идентификатор сессии ID=1.

Чтобы подключиться к рабочему столу этого пользователя через теневое подключение, выполните команду:

mstsc.exe /shadow:1 /v:wks-w10b01

mstsc shadow - подключение к рабочему столу сессии пользователя через shadow

На экране пользователя Windows появится запрос подтверждения подключения администратора к его сеансу:
Запрос на удаленное подключение
Username запрашивает удаленный просмотр вашего сеанса. Вы принимаете этот запрос.

подтвердить подключение к пользователю через теневую сессию

Если служба TermService на удаленном компьютере отключена, то при попытке удалённого подключения через RDP shadow появится ошибка:

The version of Windows running on this server does not support user shadowing

эта версия windows не поддерживает shadow подключения

Если пользователь разрешит соединение, вы подключитесь к его консольному сеансу и увидите его рабочий стол. Вы будете видеть все действия пользователя, но не сможете взаимодействовать с его сессией. Если вы хотите управлять его сессией, добавьте в команду параметр /control. В этом случае надпись в заголовке окна сменится с
Viewing username (sessionID 1) on computername
на
Controlling…

просмотр сессии пользователя на удаленном компьютере по сети через теневое подключение

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

Если сессия пользователя заблокирована, или появляется запрос повышения привилегий UAC, то без исопльзования режима
mstsc /control
окно с теневой сессией становится черным и на нем появляется символ паузы.

Теневая сессия переходит в приостановленное состояние, если у пользователя появляется запрос UAC на Secure desktop. После того, как пользователь подтвердит действие UAC, ваша сессия возобновится.

Чтобы развернуть окно теневой сессии во весь экран, воспользуйтесь комбинацией клавиш Ctrl + Alt + Break.

Для завершения теневой сессии нажмите на компьютере
alt+*
(или
ctrl+*
на RDS сервере).

Вы можете оповестить пользователя о том, что кто-то удаленно подключится к его сессии через теневое подключение с помощью следующего PowerShell скрипта:
while($true){
if (Get-Process -Name "RdpSa" -ErrorAction SilentlyContinue){[console]::beep(1000,500);Write-Host "RdpSa is running at $(Get-Date)"}
Start-Sleep -Seconds 1

}

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

Вы можете получить историю теневых подключений к компьютеру пользователя из журнала событий Windows. Все интересующие вас логи находятся в разделе Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational:Event Viewer

  • Event ID 20508 — Shadow View Permission Granted
  • Event ID 20503 — Shadow View Session Started
  • Event ID 20504 — Shadow View Session Stopped

Вы можете получить логи теневых подключений к компьютеру с помощью PowerShell:

$EventIds = 20508,20503,20504
Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational';ID=$EventIds}

powershell скрипт для получения истории (логов) теневых подключений в windows

Функционал теневого подключения Remote Desktop Shadowing работает в Windows 11/10/ 8.1 и Windows Server 2022/2019/2016/2012 R2. Таким образом Remote Desktop Shadowing можно использовать как аналог Remote Assistance (Удаленный помощник) или TeamViewer/Anydesk для локальной или корпоративной сети.

Skip to content



Navigation Menu

Provide feedback

Saved searches

Use saved searches to filter your results more quickly

Sign up

Description

Ever since I updated to Windows 10 Creators Update shadowing computers that have Windows 10 Creators Update installed no longer works. I get an small dialog box that says «Unspecified Error». I tried reinstalling and updating RDPWrap but it hasn’t helped. Under version 1607 it worked great.

Metadata

Metadata

Development

No branches or pull requests

Issue actions

    In this article we will go through configuration of Remote Desktop Shadowing. We will also discuss pros and cons of this approach, since it is not without the problems.

    Remote Desktop Shadowing enables administrators to remotely connect to users session. This can be very useful feature, especially if you maintain specific networks.

    Let’s get to work, and configure Remote Desktop Shadowing.

    This test is done on Windows 11 Enterprise with 23H2 installed.

    Enable Remote Desktop Shadowing on Windows

    First, on a machine you wish to connect to – Settings – System – About and under related links select Advanced system settings

    Navigate to Remote tab, and under Remote Desktop enable Allow remote connections to this computer. Before we click on Apply | OK click on Select Users and make sure that user you plan to use for RDP has the rights to connect! I’m using same user on both machines with same password in this lab!

    When done click OK | Apply | OK

    Group Policy

    Now, in search type Run – when run opens, inside it type gpedit.msc and press OK.

    Group Policy editor should open.

    Navigate to Computer Configuration -> Administrative Templates -> Windows components -> Remote Desktop Services -> Remote Desktop Session Host -> Connections and double click on Set rules for remote control of Remote Desktop Services user sessions

    Select Enabled and from the options list select Full Control without user’s permission. Apply | OK

    Optional: Do the same through registry

    You can achieve the same through registry by opening elevated command prompt and typing

    reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /t REG_DWORD /d 4

    If you wish to remove the registry key at one point you can use

    reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /f

    Firewall

    Now, the scary thing is, RDP shadowing doesn’t use RDP port 3389, it uses 139/TCP, 445/TCP (yes, those are SMB ports) and RPC ports in range 49152-65535

    Control Panel – Windows Defender Firewall – select Advanced settings

    Two rules need to be enabled in Inbound Rules – File and Printer Sharing (SMB-In) and Remote Desktop – Shadow (TCP-In). You may optionally create a new rule and open RPC port range I mentioned earlier if

    If a rule doesn’t have white checkmark in green orb, then right click on it, select Enable Rule as depicted below.

    Services

    Before we proceed, make sure that Remote Desktop Services (TermService) is Running on the computer you wish to connect to (Control Panel – Windows Tools – Services)

    For me, Shadow RDP worked even without these enabled in my LAB, but if you have problems connecting to remote desktop, open Settings – Network & Internet – Advanced network settings – Advanced sharing settings and make sure that Network discovery and File and Printer sharing are on. As I said, in my lab, File and printer sharing was off, and Shadow RDP worked, until it at once didn’t – this setting helped. Set this to on, only for your current profile.

    Connect to Shadow RDP mode

    To connect to shadow RDP command goes as follows

    Mstsc.exe /shadow:<Session ID> /v:<Computer name or IP address>

    Now, following switches can be added to the command

    /prompt – request a users credential, /control – you’ll be able to interact with user session. Without this switch, you will be using view only mode.

    /noConsentPrompt – user will not be notified to allow connection.

    Now, you will ask yourself, yes, but how do I know user session id? Usually if user is logged into computer, session ID is 1.

    we can confirm that through Powershell (elevated) from remote computer which we will use to connect to shadow RDP by typing in following

    qwinsta /server:IPorNAMEOFPCYOUWISHTOCONNECTTO

    We can see that on remote pc we wish to connect to on IP 192.168.100.150, there is console session 1 active with user Zeljko logged in.

    Ok, let’s test Shadow RDP

    Now, if we run mstsc command from the beginning now that we have Session ID parameter, it will look like this.

    Connection will start, and it will wait for user input, to confirm that you can connect

    On user screen you will see this confirmation screen

    If you use some of the switches we mentioned before, like /noConsentPrompt you will be able to connect to remote session without user approval.

    Security aspects

    While this is very useful in some scenarios – let’s say you have a delicate app that cannot change session or will break (there are apps that are written in strange way) or you wish to assist directly user with the problem he/she is having, this is huge security issue. Especially connecting without consent.

    So, in the process of configuration you already saw, what you can do to mitigate this in your network – disable some firewall services, group policy or registry changes.

    You can also notify user by setting following script as windows service. It will notify user by simple beep when somebody connects to their session

    while($true){
    if (Get-Process -Name "RdpSa" -ErrorAction SilentlyContinue){[console]::beep(1000,500);Write-Host "RdpSa is running at $(Get-Date)"}
    Start-Sleep -Seconds 1
    }

    You can also monitor Event Viewer and event IDs 20503,20504,20508. You can find these in following section of Event Viewer – Microsoft | Windows | TerminalServices-RemoteConnectionManager | Operational

    Conclusion

    We learned how to configure Shadow RDP, but we also learned that it can be potential security issue, and through configuring it, we learned how to mitigate it, if it is dangerous for our environment.

    Disclaimer

    > Windows

    Дата обновления: 23 мая 2024 г.

    Дата публикации: 23 мая 2024 г.

    Автор: Стрекаловский Александр

    RDS Shadow – теневое подключение к RDP сессиям пользователей в Windows Server 2016 / 2012 R2

    В Windows 2012 R2 и Windows 8.1 Microsoft вернула функционал Remote Desktop Shadowing (теневого подключения). Напомним, что режим Shadow (теневой сеанс) – может использовать администратором для просмотра и управления существующей RDP сессией любого пользователя. Этот режим работы поддерживается практически с первых версий терминального сервера Microsoft и неожиданно был убран в Windows Server 2012 (связано с переносом стека rdp из режима ядра в пользовательский режим). Функционал RDS Shadow работает и в следующих версиях ОС: Windows Server 2016

    Кроме того, у режима теневого подключения RDS Shadow и RDP клиента появился ряд новых интересных возможностей. Полный список параметров RDPклиента mstsc.exe, определяющих возможность удаленного теневого подключения к сессии конечного пользователя:

    1

    Новые параметры mstsc в Windows 8.1
    Mstsc.exe [/shadow:sessionID [/v:Servername] [/control] [/noConsentPrompt]]

    /shadow:ID – подключится к RDP сессии с указанным ID.

    /v:servername – имяRDP/RDS терминального сервера (если не задано, используется текущий).

    /control – возможность взаимодействия с сеансом пользователя (если не указано, используется режим просмотра сессии пользователя).

    /noConsentPrompt – не запрашивать у пользователя подтверждение на подключение к сессии.

    /prompt –используется для подключения под другими учетными данными. Запрашивается имя и пароль пользователя для подключения к удаленному компьютеру.

    Ограничения теневых сеансов RDS в Windows 2012 R2

    Подключаться к чужим сессиям может только администратор сервера. Делегировать эти права обычным пользователем нельзя
    RDS Shadow не будет работать в сетях на базе рабочих групп

    Использование Remote Desktop Shadow из графического GUI

    1

    коллекция QuickSessionCollection
    Подключиться к сессии пользователя можно с помощью утилиты mstsc.exe или непосредственно из консоли Server Manager. Для этого в консоли Server Manager откройте коллекцию QuickSessionCollection

    shadow — запуск теневой сесии
    Щелкнув по сессии интересующего пользователя, выберите в контекстном меню Shadow (Теневая копия).

    Появится окно параметров теневого подключения. Возможен просмотр (View) и управление (Control) сессией. Кроме того, можно включить опцию Prompt for user consent (Запрашивать согласие пользователя на подключение к сессии).

    mstsc — Теневая копия — Запрашивать согласие пользователя
    Если выбрана опция «Запрашивать согласие пользователя», в сессии у пользователя появится запрос:Запрос на удаленное наблюдение

    Winitpro\administrator запрашивает удаленный просмотр вашего сеанса. Вы принимаете этот запрос.Winitpro\administrator is requesting to view your session remotely. Do you accept the request?

    1

    1

    1

    Запрос пользователя о shadow подключении
    Запрос на удаленное теневое наблюдение
    удаленное управление терминальной сесией пользователя в rds windows server 2012r2
    Если пользователь подтвердит, подключение, в режиме просмотра администратор увидит его рабочий стол, но не сможет взаимодействовать с ним.Совет. Для отключения от сессии пользователя и выхода из shadow-режима нужно нажать ALT+ на рабочей станции или Ctrl+ на терминальном сервере (если не заданы альтернативные комбинации).

    Если же пользователь отклонит подключение, появится окно:Shadow Error: The operator or administrator has refused the request

    The operator or administrator has refused the request

    Если попытаться подключиться к сессии пользователя без запроса подтверждения, появится ошибка, сообщающая, что такое это запрещено групповой политикой:Shadow Error: The Group Policy setting is configured to require the user’s consent. Verify the configuration of the policy settings.

    1

    ошибка GPO удаленного shadow подключения
    Параметры удаленного управлениями RDS сессиями пользователя настраиваются политикой Set rules for remote control of Remote Desktop Services user sessions (Установить правила удаленного управления для пользовательских сеансов служб удаленных рабочих столов), которая находится в разделе Policies -> Administrative Templates -> Windows components -> Remote Desktop Services -> Remote Session Host -> Connections (Административные шаблоны –> Компоненты Windows –> Службы удаленных рабочих столов – Узел сеансов удаленных рабочих столов –> Подключения) в пользовательской и «компьютерной» секциях GPO. Данной политике соответствует dword параметр реестра Shadow в ветке HKLM\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services.

    Этой политикой можно настроить следующие варианты теневого подключения через теневое подключение RD Shadow::

    No remote contol allowed — удаленное управление не разрешено (значение ключа реестра Shadow = 0);
    Full Control with users’s permission — полный контроль с разрешения пользователя (1);
    Full Control without users’s permission — полный контроль без разрешения пользователя (2);
    View Session with users’s permission – наблюдение за сеансом с разрешением пользователя (3);
    View Session without users’s permission – наблюдение за сеансом без разрешения пользователя (4).

    1

    политика Установить правила удаленного управления для пользовательских сеансов служб удаленных рабочих столов
    Теневое подключение RDS Shadow из PowerShell
    Воспользоваться функционалом теневого подключения к сессии пользователя через теневое подключение Remote Desktop Services можно и из Powershell.

    В первую очередь покажем, как получить список сессий на терминальном сервере (сессии пользователей будут сгруппированы в группы в зависимости от их статуса):

    Get-RDUserSession | ft Username, UnifiedSessionId, SessionState, HostServer, ApplicationType -GroupBy Sessionstate
    

    1

    На данном сервере мы обнаружили три активных терминальных сессии. Подключимся к сессии пользователя с ID сессии 3:
    Mstsc /shadow:3 /control
    Также для получения списка всех сессии на сервере можно выполнить команду

    quser

    Или

    qwinsta

    На экране отобразится список RDP сессий, их ID и статус: активная сесиия (Active) или отключенная (Disconnected).

    qwinsta — список RDP сесиий на удаленном сервере
    Для получения списка сессий на удалённом сервере выполните команду:

    query session /server:servername

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

    shadow.bat

    @echo off
    set /P rcomp=”Enter name or IP of a Remote PC: “
    query session /server:%rcomp%
    set /P rid=”Enter RDP user ID: “
    start mstsc /shadow:%rid% /v:%rcomp% /control

    Можно поместить данный файл в каталог %Windir%\System32, в результате для теневого подключения достаточно выполнить команду shadow.

    Для подключения к консольной сессии можно использовать такой скрипт:

    @echo off
    set /P rcomp=”Enter name or IP of a Remote PC: “
    for /f “tokens=3 delims= ” %%G in (‘query session console /server:%rcomp%’) do set rid=%%G
    start mstsc /shadow:%rid% /v:%rcomp% /control

    Вы можете использовать теневое подключение к рабочим столам пользователей на компьютерах с Windows 10 и 8.1.

    Как разрешить обычном пользователям использовать теневое подключение
    В рассмотренных выше примерах для использования теневого подключения к терминальным сессиям необходимы права локального администратора на RDS сервере. Однако можно разрешить использовать теневое (shadow) подключение для подключения к сессиям пользователей и простым пользователям (не давая им прав локального администратора на сервере).

    К примеру, вы хотите разрешить членам группы AllowRDSShadow использовать теневое подключение к сессиям пользователей, выполните команду:

    wmic /namespace:\root\CIMV2\TerminalServices PATH Win32_TSPermissionsSetting WHERE (TerminalName=’RDP-Tcp’) CALL AddAccount ‘corp\AllowRDSShadow’,2

    В январе 2018 года после установки обновления KB4056898 (патч Windows против Meltdown и Spectre) пользователи столкнулись, что в Windows Server 2012 R2 перестал работать теневой доступ. При попытке выполнить теневое подключение к чужой сессии появляется сообщение «Неопознанная ошибка» (в логах присутствует ошибка STATUS_BAD_IMPERSONATION_LEVEL). Аналогичная проблема возникала и на RDS ферме на базе Windows Server 2016.

    Для решения проблемы нужно установить отдельные обновления:

    для Windows Server 2016 — KB4057142 (от 17 января 2018)
    для Windows Server 2012 R2 — KB4057401 (от 17 января 2018)

    Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии
  • Device harddiskvolume2 windows system32 l3codeca acm
  • Windows disk check ssd
  • System windows forms integration
  • Download bluestacks for windows 10 32 bit
  • Windows 10 не дает установить принтер по сети