Visualización de la sesión de escritorio de un usuario remoto con modo sombra en Windows
Puede usar Sombreado de escritorio remoto para conectarse de forma remota a sesiones de usuario en computadoras con Windows. Esta característica es esencialmente un análogo de Asistencia remota y permite a los administradores ver e interactuar de forma remota con el escritorio del usuario tanto en versiones de escritorio (Windows 11 o 10) como en servidores Windows Server RDS.
Los administradores suelen utilizar el remedo de sesiones de escritorio remoto para proporcionar soporte técnico remoto a los usuarios de RDS de las granjas de Windows Server.
Habilitar el modo de conexión de sombra de escritorio remoto en Windows
Debe configurar las computadoras con Windows a las que desea conectarse a través de la conexión de sombra de escritorio remoto de cierta manera.
Habilite Escritorio remoto (RDP) en las computadoras de los usuarios (manualmente o a través de GPO);
-
Su cuenta debe tener permisos de administrador local en la computadora del usuario (puede agregar al usuario al grupo 'Administradores' manualmente o usando Políticas de grupo);
Configure el modo de conexión de sombra. Puede configurar si necesita solicitar la confirmación del usuario para conectarse y si se permite la visualización o el control en la sesión oculta. Puede configurar el modo de conexión oculta a través de la opción GPO Establecer reglas para el control remoto de las sesiones de usuario de Servicios de Escritorio remoto (Configuración del equipo -> Plantillas administrativas -> Componentes de Windows -> Servicios de Escritorio remoto -> Host de sesión remota -> Conexiones).
Los siguientes 5 modos están disponibles:0: deshabilitar el control remoto oculto;
1: control total con el permiso del usuario;
2: control total sin el permiso del usuario;
3: ver la sesión con el permiso del usuario;
4: ver la sesión sin el permiso del usuarioPuede habilitar el modo de conexión de sombra deseado directamente a través del registro. Edite el registro manualmente o con el comando reg add. En este ejemplo, configuramos el modo 4, que permite ver la sesión remota sin el permiso del usuario:
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow /t REG_DWORD /d 4De forma predeterminada, este parámetro de registro no está configurado y la conexión oculta se realiza en modo de control total con la confirmación del usuario.
Configure las reglas del Firewall de Windows Defender para permitir conexiones instantáneas remotas entrantes. Los siguientes puertos se utilizan para el tráfico de remedo de sesión en Windows, en lugar del puerto estándar 3389/RDP: 139/TCP, 445/TCP y una gama de puertos RPC dinámicos (del 49152 al 65535). Para permitir el tráfico entrante de conexiones ocultas, debe habilitar dos reglas de firewall predefinidas en Windows:
File and Printer Sharing (SMB-In)y
Remote Desktop - Shadow (TCP-In). La última regla permite el acceso remoto a la
RdpSa.exeproceso. Puede habilitar las reglas de Windows Defender en las computadoras de los usuarios a través de un GPO o mediante el cmdlet de PowerShell Enable-NetFirewallRule.
Conéctese de forma remota a una sesión de usuario a través de la sombra de escritorio remoto
Veamos cómo conectarse de forma remota a la sesión de escritorio de otro usuario en una computadora Windows remota usando la conexión oculta de Escritorio remoto. En este ejemplo, me conectaré desde mi computadora con Windows 11 a la sesión del usuario en la estación de trabajo con Windows 10 del usuario.
La herramienta integrada Conexión a escritorio remoto (mstsc.exe) se utiliza para conectarse de forma oculta a la sesión del usuario. El formato del comando es:
Mstsc.exe /shadow:<Session ID> /v:<Computer name or IP address>También puede utilizar una de las siguientes opciones de mstsc:
/prompt: solicite una credencial de usuario para conectarse (si no se especifica, se le conectará con las credenciales de usuario actuales);
/control: el modo que permite interactuar con la sesión del usuario. Si el parámetro no está configurado, se conectará a una sesión de usuario en un modo de vista, i. mi. no podrá controlar el mouse de un usuario ni ingresar datos desde el teclado;
/noConsentPrompt: no solicita confirmación al usuario para conectarse a una sesión de escritorio.
Ahora debe averiguar el nombre de usuario y su ID de sesión en la computadora remota (si el usuario trabaja directamente en la consola de la computadora, su ID de sesión siempre será 1).
Mostremos una lista de sesiones de usuario en una computadora remota (puede ser una computadora de escritorio que ejecute Windows 11/10 o Windows Server con la función de host de servicios de escritorio remoto).
Solicitemos de forma remota la lista de sesiones en la estación de trabajo de Windows 10 usando este comando:
qwinsta /server:PC_Name01
En este ejemplo, puede ver que solo hay un usuario conectado a la computadora, que trabaja directamente en la consola de la computadora (
SESSIONNAME=console) con ID de sesión=1.
Intentemos conectarnos de forma remota al escritorio de este usuario a través de una conexión oculta. Ejecute el comando:
Mstsc /shadow:1 /v:PC_Name01Se le pedirá al usuario de Windows que confirme que un administrador se está conectando a su sesión:
Remote connection request
PC\admin is requesting to view your session remotely. Do you accept the request?Si el servicio TermService en la computadora remota está deshabilitado, aparecerá un error al intentar conectarse de forma remota a través de la conexión de sombra de escritorio remoto:
The version of Windows running on this server does not support user shadowing.Si el usuario acepta la conexión, se conectará a su sesión de consola y verá el escritorio del usuario. Verá todas las acciones del usuario, pero no podrá controlar (interactuar) esta sesión. Si desea controlar su sesión, use la opción /control en el comando mstsc. En este caso, la leyenda en el título de la ventana cambiará de
Viewing username (sessionID 1) on computernamea
Controlling…En este caso, te conectaste directamente a la sesión de la consola del usuario sin bloquear su sesión. Cuando se conecta de forma remota a Windows a través de una sesión RDP estándar, la sesión del usuario local se desconecta (incluso si habilita varias sesiones RDP simultáneas en Windows).
Si la sesión de un usuario está bloqueada porque el usuario está inactivo o aparece una solicitud de escalada de privilegios de UAC cuando se conecta sin usar el
mstsc /controlparámetro, la ventana de la sesión oculta se vuelve negra y aparece un símbolo de pausa en ella.
La sesión instantánea pasa a un estado suspendido si el usuario tiene un aviso de UAC en el escritorio seguro. Después de que el usuario confirme la acción de UAC, se reanudará su sesión instantánea.
PromptOnSecureDesktop es uno de los parámetros disponibles en la configuración de la directiva de grupo de UAC.
Usa el atajo de teclado
Ctrl + Alt + Breakpara cambiar el tamaño de la ventana de conexión oculta para que se ajuste a toda la pantalla de su escritorio;
Prensa
Alt+*en la computadora (o
Ctrl+*en el servidor RDS) para finalizar la sesión instantánea.
Puede notificar a un usuario que alguien se está conectando de forma remota a su sesión a través de una conexión instantánea RDP mediante el siguiente script de 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
}Puede ejecutar este script de PowerShell como un servicio de Windows. En este ejemplo, estamos notificando al usuario con un simple pitido. Además, puede mostrar una notificación emergente en el escritorio.
Puede consultar un historial de conexiones instantáneas en una computadora de usuario desde los registros de eventos de Windows. Todos los eventos de su interés se pueden encontrar en el
Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operationalsección del Visor de eventos.
Id. de evento 20508: Permiso de Shadow View concedido
Id. de evento 20503: sesión de Shadow View iniciada
Id. de evento 20504: sesión de Shadow View detenida
Puede obtener registros de conexión en la sombra de la computadora de un usuario usando PowerShell:
$EventIds = 20508,20503,20504
Get-WinEvent -FilterHashTable @{LogName='Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational';ID=$EventIds}Lea más sobre el análisis del registro de conexión RDP en un artículo separado.
Remote Desktop Shadowing está disponible en Windows 11/10/8.1 y Windows Server 2022/2019/2016/2012 R2. Por lo tanto, puede usar Remote Desktop Shadowing como un análogo de Remote Assistance o TeamViewer/AnyDesk, que brinda acceso instantáneo y seguro a las computadoras de los usuarios en una red corporativa local.









