Cómo administrar el modo de vaciado de RDS en Windows Server — Real Talk
Administrar tus Hosts de Sesión de Escritorio Remoto (RDS) puede ser un poco complicado a veces, sobre todo cuando necesitas aplicar parches o actualizaciones sin interrumpir la sesión de todos. El Modo Drenaje es básicamente la forma en que Windows te permite decirle al servidor: «Oye, no se permiten nuevos usuarios, pero mantén a los existentes contentos».Si alguna vez te han pillado intentando realizar tareas de mantenimiento mientras otros usuarios tienen la sesión iniciada, sabes lo útil que puede ser. Pero no siempre es sencillo, sobre todo con todas las opciones que Microsoft te ofrece: mediante la interfaz gráfica de usuario, la línea de comandos, PowerShell o la directiva de grupo. Aquí tienes un resumen rápido pero honesto de cómo hacerlo, los problemas a tener en cuenta y algunas cosas prácticas que podrían salvarte la cordura.
Cómo habilitar y usar el modo de drenaje en su host RDS
Método 1: Usar el Administrador del servidor (GUI)
Esta es la forma más sencilla si te gusta navegar por todas partes; es perfecta para una actualización rápida de la granja o si no eres un experto en la línea de comandos. Básicamente, vas al Administrador de servidores y luego: – Todos los servidores → Agrega tus servidores RDS si aún no están ahí (a veces se olvida este paso y te encuentras con la consola vacía).- Haz clic en Servicios de Escritorio remoto en el panel izquierdo y luego selecciona tu colección RDS.- En SERVIDORES HOST, haz clic derecho en el servidor que quieres poner en modo de drenaje.- Elige No permitir nuevas conexiones. Por qué ayuda: Bloqueas las nuevas sesiones, pero las actuales permanecen activas. Por lo general, esto significa que puedes parchear o actualizar sin una desconexión abrupta. Espera resultados honestos: en algunas configuraciones, la GUI no siempre se actualiza al instante, por lo que es posible que tengas que pulsar «actualizar» o cerrar sesión y volver a iniciarla para confirmar.—
Método 2: Línea de comandos con «cambiar inicio de sesión» (integrado y rápido)
Esta es la forma clásica, y si te gustan los trucos rápidos para la terminal, es lo que quieres. Desde un símbolo del sistema de administrador o PowerShell, ejecutas: – Para denegar nuevos inicios de sesión (mientras permites que las sesiones existentes continúen): bash change logon /drain – Para permitir nuevos inicios de sesión de nuevo: bash change logon /enable – Para poner el servidor en modo de vaciado hasta que se reinicie (útil si quieres expulsarlo temporalmente durante un reinicio): bash change logon /drainuntilrestart – Para deshabilitar completamente los inicios de sesión (bueno si lo estás apagando para siempre): bash change logon /disable Por qué ayuda: Rápido, con scripts y, en algunas configuraciones, funciona mejor que la GUI. En una máquina, se asustó la primera vez, pero en otra, tomó un reinicio o algunos intentos. Espere una ventana emergente o una entrada de registro de eventos con un mensaje acerca de que el servidor está en modo de vaciado, especialmente el `/disable`.Si ve «Las conexiones están actualmente HABILITADAS por la Política de grupo para esta máquina, no se pueden cambiar», entonces su GPO está interfiriendo.—
Método 3: Usar PowerShell (más control y retroalimentación)
Para quienes deseen realizar modificaciones más profundas, PowerShell es la mejor opción. Primero, importe el módulo RemoteDesktop: powershell Import-Module RemoteDesktop – Para configurar el modo Drain (denegar nuevas conexiones): powershell Set-RDSessionHost -SessionHost «servername» -NewConnectionAllowed No -ConnectionBroker «brokername» – Para volver a permitir conexiones: powershell Set-RDSessionHost -SessionHost «servername» -NewConnectionAllowed Yes -ConnectionBroker «brokername» Aquí está el truco: Este comando modifica algunos valores del registro en ` HKLM\System\CurrentControlSet\Control\Terminal Server` y ` HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon`. Al cambiar de modo, es de esperar que valores como ` WinStationsDisabled` y ` TSServerDrainMode` cambien, a veces inmediatamente, a veces después de reiniciar. Para comprobar el estado con PowerShell, use: powershell Get-WmiObject win32_terminalservicesetting -Namespace «root\cimv2\terminalservices» | % { if ($_. Logons -eq 1) { «Disabled» } Else { switch ($_. SessionBrokerDrainMode) { 0 { «Enabled» } 1 { «DrainUntilRestart» } 2 { «Drain» } default { «error» } } } } Y para activar el modo de drenaje: powershell $temp = Get-WmiObject -Namespace «root\cimv2\terminalservices» -Class win32_terminalservicesetting $temp.sessionbrokerdrainmode = 2 $temp. Put() Para volver a la normalidad: powershell $temp.sessionbrokerdrainmode = 0 $temp.logons = 0 $temp. Put() Mucho más granular, pero a veces parece vudú, especialmente con GPO u otras políticas que bloquean los cambios. Si las cosas no funcionan, vuelva a verificar la configuración de GPO en: Plantillas administrativas > Componentes de Windows > Servicios de Escritorio remoto > Host de sesión de Escritorio remoto > Conexiones; busque Permitir que los usuarios se conecten de forma remota mediante Servicios de Escritorio remoto.—
Cuando las cosas no funcionan: GPO o configuraciones inesperadas
Si se producen errores como «Las conexiones están habilitadas por la directiva de grupo para esta máquina; no se pueden cambiar», la directiva está anulando sus comandos. Normalmente, esto se debe a una GPO vinculada en Plantillas administrativas – Componentes de Windows – Servicios de Escritorio remoto. Deshabilítela o configúrela como No configurada si realmente necesita aplicar el modo de purga manual.
Resumen
Esto no es perfecto, y a Windows le encanta ocultar ciertas configuraciones tras GPO o hacer que los comandos se comporten de forma diferente en distintas versiones. Pero usar el modo de purga es un mal necesario, especialmente para mantener el sistema funcionando sin problemas durante las ventanas de mantenimiento. Ten en cuenta que, en algunas configuraciones, podría ser necesario reiniciar después de configurar el modo y, a veces, tendrás que volver a revisar tus GPO o el registro. En general, es una cuestión de equilibrio, y conocer los comandos y dónde encontrar la configuración marca una gran diferencia.
Resumen
- Utilice el Administrador de servidor para un cambio rápido de GUI
- Ejecutar
change logon /drainen el símbolo del sistema para un cambio rápido - Aproveche PowerShell para obtener más control y scripting
- Tenga cuidado con los GPO que bloquean sus cambios
- Recuerda revisar los registros del servidor si las cosas se ponen raras.
Resumen
Todo esto del modo de purga puede ser complicado, sobre todo con diferentes versiones y políticas de Windows. Pero es una herramienta útil si necesitas realizar actualizaciones sin tener que expulsar a todos a la vez. Simplemente prepárate para un poco de prueba y error, y no olvides revisar las GPO si los comandos no funcionan correctamente. Espero que esto te ahorre tiempo y frustración; funcionó con algunas configuraciones que he probado, así que quizás te sirva también.