Estoy buscando algunas ideas sobre cómo desconectar, cerrar sesión o restablecer la sesión de un usuario en un Terminal Server 2008 (tampoco puedo iniciar sesión como usuario ya que está completamente bloqueado). Este es un entorno de producción, por lo que reiniciar el servidor o hacer algo en todo el sistema está fuera de discusión por ahora. ¿Algún truco de Powershell para ayudarnos con esto?
Hemos intentado desconectar, cerrar la sesión del usuario y restablecer la sesión, así como también eliminar los procesos de la sesión, directamente desde el mismo servidor de terminal (desde el administrador de tareas, el Administrador de servicios de terminal y el Monitor de recursos) sin resultados.
¡Ayuda!
ACTUALIZACIÓN: Terminamos reiniciando el servidor ya que ningún otro intento que pudiéramos pensar funcionó. Dejaré esta pregunta abierta con la esperanza de que alguien tenga más información sobre este problema y sus posibles soluciones.
Respuestas:
Lo que funcionó para mí para resolver este mismo problema fue eliminar todos los procesos que se ejecutan bajo la cuenta bloqueada desde el Administrador de tareas y luego pude simplemente cerrar sesión en esa cuenta (desde una cuenta de Administrador).
El usuario pudo volver a iniciar sesión con la cuenta.
No fue necesario reiniciar y no fue necesario descargar software de terceros.
fuente
csrss.exe
,dwm.exe
,LoginUI.exe
, ywinlogon.exe
. Pensé que matarwinlogon.exe
provocaría un BSOD ...Quiero compartir cómo restablezco la cuenta sin la necesidad de reiniciar el servidor. En primer lugar, debe tener acceso de administrador al servidor. Utilizo la siguiente opción de inicio de sesión: mstsc / v: nombre del servidor / consola / administrador para acceder al servidor. Luego, en "Windows Taks Manager", vaya a la pestaña Usuarios y haga clic derecho sobre la cuenta que desea "Cerrar sesión", seleccione cerrar sesión. Esto debería liberar la sesión bloqueada utilizada por esa cuenta.
fuente
La respuesta simple es ejecutar un símbolo del sistema elevado y escribir "Taskmgr" y luego le permitirá cerrar sesión en la pestaña USUARIOS. No funcionará sin estar en la sesión elevada.
fuente
Puede iniciar un cmd, hacer una sesión de consulta , verificar la identificación de la sesión que se va a eliminar y luego hacer una sesión de reinicio . Por ejemplo, si con la sesión de consulta obtienes que el nombre de sesión rdp-tcp # 1 es el que quieres matar, entonces puedes ejecutar la sesión de restablecimiento rdp-tcp # 1 y matarlo.
fuente
reset session 9
ese comando simplemente se cuelga. Mi sesión continúa teniendo los cuatro procesos que se ejecutan sin que parezca que estar activo:crss.exe
,dwm.exe
,LogonUI.exe
, ywinlogon.exe
. i.imgur.com/cFM62RA.png yquery session 9
salidasNo User exists for 9
.Supongo que sucedió lo mismo hoy en mi Terminal Server Win2008R2. Los síntomas fueron: 1. Me llamó por teléfono con "el mensaje de 'conexión' simplemente se cuelga para siempre". Es solo un usuario simple, así que no puedo esperar una descripción detallada del problema. 2. Intenté cerrar sesión / restablecer sesión (que generalmente ayuda en estos casos) - no funcionó. La sesión todavía se cuelga en la lista con el estado 'desconectado'. 3. Intenté matar todos los procesos para ese usuario, no ayudó. La sesión persiste y se niega a ser asesinada.
La solución fue: conectarse como usuario (inicie sesión con sus credenciales si puede restablecer su contraseña o utilizar algún tipo de asistencia remota para ver qué sucede en su computadora) y ver qué sucede en la ventana de inicio de sesión. Cuando me conecté, hice clic en el botón 'Detalles' del Cliente RDP, y aquí estaba, un mensaje de error de que winlogon hizo algo mal, estaba esperando que el usuario haga clic en los botones 'reintentar / ignorar / etc.' y dado que es el winlogon omnipotente que causó todo ese comportamiento extraño.
pd No pude encontrar ninguna manera de forzar realmente a matar una sesión :(
fuente
Acabamos de tener un problema similar con nuestro servidor de escritorio remoto Windows Server 2008 R2. La sesión de usuario mostró "Activo" al mirar RDS Manager, pero no tenía el número de ID de sesión asociado o el dispositivo conectado (ambos estaban en blanco).
Todos los trucos anteriores no resolvieron el problema. Cuando se conectó como el usuario en cuestión, apareció un mensaje de error que indicaba que Terminal Server estaba ocupado y que intentara más tarde o contacte al administrador.
Terminamos reiniciando el servidor también.
fuente
Tuve el mismo problema en Windows Server 2016. El usuario no pudo iniciar sesión.
Así que intenté los siguientes pasos para desconectar la sesión huérfana:
mostrar sesiones activas y matarlas
con el ID de sesión (7) de 1. Traté de matar esta sesión con la sesión de reinicio 7 (para su información: rwinsta es un alias para la sesión de reinicio)
funcionó durante una sesión, pero la próxima vez simplemente no tuvo efecto, así que abrí el administrador de tareas y la pestaña de usuario. Allí encontrará una lista expandible asignada a cada usuario de escritorio remoto: una lista no tenía nombre de usuario y solo mostraba 4 tareas en ejecución.
Intenté lo obvio: cerrar la sesión del usuario. Sin ningún efecto
tratando de cerrar la sesión del usuario
Después del Paso / Prueba 4, incluso la última sesión bloqueada fue cancelada y el usuario pudo iniciar sesión nuevamente
fuente
winlogon.exe
, pero estoy seguro de que otros comoLoginUI.exe
,csrss.exe
, ydwm.exe
.Puede valer la pena comprobar que el usuario no tiene un cuadro emergente de credenciales oculto detrás de la ventana del escritorio remoto con alt + tab.
Un compañero de trabajo tenía el mismo problema; no se pudo cerrar sesión o restablecer, y todos sus procesos se cerraron manualmente. Cuando traté de acceder a la interfaz gráfica de usuario del sistema del que se estaba alejando, encontré un cuadro de credenciales oculto detrás de la sesión remota.
fuente
En la misma situación: un Windows Server 2008 R2 con Servicios de escritorio remoto, una conexión RDP configurada para cerrar la sesión de los usuarios después de que la sesión esté inactiva o desconectada 3 horas, y aún algunas sesiones permanecieron bloqueadas. Traté de cerrar sesión con Remote Desktop Manager y qwinsta / quser, sin éxito.
Así es como lo resolví:
qwinsta
.winlogon.exe
la sesión bloqueada conquery process /ID:yourid
.taskkill /f /PID yourPID
.Camino a seguir. De lo contrario, me gustaría encontrar una solución para que esto no suceda.
fuente
Lo que funcionó para mí fue:
fuente
Tuve este problema con los usuarios bloqueados de la aplicación de escritorio remoto. Escribí este script de Powershell para ejecutar una tarea programada para cerrar la sesión de los usuarios que se mostraron desconectados durante más de 2 minutos. La única edición que se requiere es el NOMBRE DEL SERVIDOR que configuré para excluir el Servidor de Remote Desktop Broker, sin embargo, puede excluir cualquier servidor que desee o ninguno.
Mi script fue escrito para Windows Server 2012 R2, por cierto ...
El guión hace esto:
¡Esto funciona para mi! ¡Espero que ayude a alguien más! :)
O si prefiere una versión en la que pueda ver lo que está sucediendo en la pantalla:
fuente
Crea un archivo en el bloc de notas y llámalo findession.cmd. Coloque el comando Query Session / server: servername | encuentre / i "% 1" y guárdelo en un directorio. Cree otro archivo llamado resetsession.cmd y coloque el comando Restablecer sesión% 1 / servidor:% 2 y guárdelo.
Desde el símbolo del sistema, vaya al directorio donde guardó esos archivos y escriba el nombre de usuario de findession (inicio de sesión del usuario que está tratando de encontrar). Presione enter y debería ver el inicio de sesión y la ID de sesión. Escriba resetsession.cmd ID Servername y restablecerá esa sesión. Lo uso a diario y es muy rápido para encontrar usuarios y restablecer sus sesiones.
fuente
qwinsta
.taskkill /FI "SESSION eq 1" /F
, suponiendo que la ID de sesión que desea finalizar devuelta desde qwinsta fuera 1.Esto funcionó en Server 2012 Versión 6.2 Build 9200, espero que funcione en todas las versiones de Windows.
fuente
Este script de power-shell funcionó para mí, incluso me da un buen archivo de registro. Lo tengo de aquí. : Espero que esto ayude a alguien más, ya que las otras respuestas tenían muchos requisitos previos y no funcionaron para mí.
Editar:
Originalmente usé este script para cerrar sesión y cerrar todas las sesiones "desconectadas". Tenemos un par de aplicaciones de servidor de terminal con muchos usuarios y licencias limitadas. Las sesiones desconectadas permanecerían abiertas durante mucho tiempo y, a veces, permanecerían abiertas indefinidamente. Esto resultó en sesiones no utilizadas que tomarían algunas de las licencias y otros usuarios no podrían conectarse como resultado.
desconectar regularmente las sesiones en algunos de mis servidores. Funciona de forma autónoma
sin ninguna interacción necesaria.
fuente
Tal vez todavía hay un proceso en ejecución que bloquea el proceso de cierre de sesión. Verifique los procesos aún en ejecución para el usuario afectado. Luego, elimine el proceso uno por uno para ver qué bruja está causando el problema.
Compruebe también la
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
clave del Registro que solo se necesitan. Se inician los procesos. En 64 bits lo esHKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Run
.fuente
Puede descargar la herramienta " Process Explorer " de Microsoft y usarla para resolver su problema. Si tiene las ID de sesión, puede encontrar sus respectivos procesos. Luego, si se desconecta una sesión de usuario, puede eliminar el proceso con Process Explorer.
fuente
No es exactamente el mismo entorno (tenemos 2012r2), pero al reiniciar el servicio de administración de máquinas virtuales de Hyper-V (VMMS) se me liberó la conexión.
fuente
Debe hacer clic en el proceso y mostrar el proceso de todos los usuarios y luego podrá desconectarse.
¿Por qué no crear una política de sesión en la configuración de host de sesión de escritorio remoto finalizada sesión desconectada o inactiva después de cierto intervalo.
fuente
Mi solución: en un servidor de red diferente, me conecté al servidor problemático a través de la herramienta Computer Management, en sesiones abiertas hice clic derecho y cerré cada archivo abierto y luego pude conectarme a través de mstsc
fuente
siempre puedes usar powershell desde tu máquina local y hacerlo de forma remota
fuente
Desafortunadamente. Mi sesión de usuario fue desconectada. El administrador de tareas no mostró ningún proceso ejecutándose como el usuario. No pude desconectar al usuario del administrador de tareas. Intenté restablecer el comando id de sesión y terminé congelando también. Tuve que terminar de iniciar sesión en una sesión diferente como administrador, eliminar la cuenta y volver a crear una nueva.
fuente
¿Ha intentado cerrar la sesión del usuario del Administrador de servicios de escritorio remoto? Vaya a Herramientas administrativas -> Servicios de escritorio remoto -> Administrador de servicios de escritorio remoto y cierre la sesión. Puede funcionar
fuente
Vaya a la ventana de inicio y haga clic en su nombre
Ver muestra aquí
fuente