Búsqueda de sitios web

Cómo cambiar la contraseña caducada a través del acceso web de escritorio remoto en Windows Server


En este artículo, mostraremos cómo sus usuarios remotos pueden cambiar sus contraseñas vencidas usando un formulario web especial en un servidor de Servicios de escritorio remoto (RDS) con el rol de Acceso web de Escritorio remoto en Windows Server 2022/2019/2016/2012 R2.

No se puede cambiar la contraseña vencida desde una sesión de escritorio remoto

En Windows Server 2012 R2 y posteriores, la NLA (autenticación de nivel de red) está habilitada para las conexiones de Escritorio remoto de forma predeterminada. NLA evita que los usuarios se conecten a hosts RDP/RDS si sus contraseñas han caducado o si tienen habilitada la opción "El usuario debe cambiar la contraseña en el primer inicio de sesión" en su atributo de usuario useraccountcontrol. Puede deshabilitar NLA (ref1, ref2), pero esto no es bueno en términos de seguridad. Cuando intenta conectarse al servidor RDSH (Host de sesión de escritorio remoto) con una cuenta de usuario con la contraseña caducada, aparece el siguiente mensaje de error:

An authentication error has occurred.
The Local Security Authority cannot be contacted
Remote computer: lonSrvRDS1
This could be due to an expired password
Please update your password if it has expired.

Al usar NLA, los usuarios remotos de RDP no pueden cambiar su contraseña vencida si no tienen otra forma de acceder a la red corporativa que no sea la infraestructura de RDS. Ciertamente, puede solicitar a sus usuarios que cambien sus contraseñas directamente en la sesión RDP por adelantado, o habilitando el Inicio de sesión interactivo: Solicitar al usuario que cambie la contraseña antes de que caduque opción GPO hosts RDS (Configuración de la computadora -> Configuración de Windows -> Políticas locales -> Opciones de seguridad), pero no siempre funciona debido a un olvido común de los usuarios.

En Windows 2012 R2 y posteriores, los usuarios remotos pueden restablecer manualmente su contraseña (contraseña actual o contraseña caducada) a través de una página web especial en el servidor con la función Acceso web de escritorio remoto. Para cambiar la contraseña, el usuario debe autenticarse a través de la página web de inicio de sesión de RDS-WebAccess y cambiar la contraseña mediante un formulario aspx especial.

Nota. En Windows Server 2003, los usuarios del dominio podían cambiar sus contraseñas caducadas usando una pequeña aplicación web

IISADMPWD

(aunque no soportado oficialmente).

¿Cómo permitir que el usuario remoto restablezca la contraseña caducada en el host de acceso RDWeb?

Una opción de cambio de contraseña remota está disponible en el servidor con la función Acceso web de Escritorio remoto (Acceso web de escritorio remoto), pero esta función está deshabilitada de manera predeterminada.

Si tiene implementada una granja de servidores RDS, puede encontrar un servidor con el rol RDS-WEB-Access instalado al conectar la configuración de implementación en el host del Agente de conexión a Escritorio remoto:

Get-RDServer -ConnectionBroker rdcb1.a-d.site| where {$_.roles -eq "RDS-WEB-ACCESS"}

Para cambiar una contraseña, use el script en el archivo password.aspx ubicado en C:\Windows\Web\RDWeb\Pages n-US.

Si está utilizando una versión localizada de Windows Server (sin paquete de idioma), la ruta al archivo password.aspx será diferente y tendrá este aspecto:

  • C:\Windows\Web\RDWeb\Pages\fr-FR: para la edición francesa de Windows Server

  • C:\Windows\Web\RDWeb\Pages\de-DE: para la edición en alemán.

Para habilitar la opción de cambio de contraseña, debe ejecutar la consola del Administrador de IIS (

inetmgr

) en el servidor con el rol de Acceso web de escritorio remoto configurado. Vaya a [Nombre del servidor] -> Sitios -> Sitio web predeterminado -> RDWeb -> Páginas y abra la sección Configuración de la aplicación.

En el panel derecho, busque el parámetro PasswordChangeEnabled y cambie su valor a true.

Además, puede establecer el parámetro PasswordChangeEnabled en True en el archivo de configuración de IIS C:\Windows\Web\RDWeb\Pages\Web.config.

El parámetro PasswordChangeEnabled permite a los usuarios de Active Directory cambiar su contraseña vencida a través del portal de acceso web de escritorio remoto. Esta opción no permite cambiar la contraseña de usuarios locales en hosts RDS en un entorno de grupo de trabajo (sin dominio).

Reinicie el servidor web IIS desde la consola o use el comando:

iisreset 

Para comprobar la disponibilidad de la página de cambio de contraseña, acceda a la siguiente página web:

https://lonSrvRDS1/RDWeb/Pages/en-US/password.aspx

RD Web Access debe tener instalado un certificado SSL válido. Puede usar el certificado Let's Encrypt gratuito en IIS.

Ingrese el nombre de usuario, la contraseña anterior y la nueva contraseña dos veces.

Después de cambiar con éxito la contraseña del usuario, debería aparecer el siguiente mensaje:

Your password has been successfully changed.

Haga clic en Aceptar y el usuario será redirigido a la página de inicio de sesión de RD Web. Si la contraseña del usuario no coincide con la política de contraseñas del dominio, aparecerá un mensaje de advertencia:

Your new password does not meet the length, complexity, or history requirements of your domain. Try choosing a different new password.

Puede usar esta forma de cambio de contraseña en el servidor de acceso web de escritorio remoto solo si la autenticación de formularios está habilitada en IIS en el servidor RDWA. No podrá cambiar la contraseña a través del formulario web de RD si se utiliza el método de autenticación de Windows.

Puede enumerar y cambiar los tipos de autenticación admitidos en la consola del Administrador de IIS. Seleccione Sitios -> Sitios web predeterminados -> RDWeb -> Páginas en el panel derecho, seleccione Autenticación de formularios.

Ahora, cuando intente conectarse al servidor de RD Web Access con la contraseña vencida, el usuario será redirigido a la página web password.aspx y se le ofrecerá cambiar su contraseña.

Consejo. Puede cambiar una contraseña caducada en Windows Server 2008 R2 con el rol de acceso web de escritorio remoto después de instalar la actualización especial KB2648402.

Agregar enlace de cambio de contraseña al formulario de inicio de sesión de RD Web Access

Puede agregar un enlace al formulario de cambio de contraseña directamente al formulario de inicio de sesión de Remote Desktop WebAccess. Esto permitirá a los usuarios cambiar su contraseña en cualquier momento sin esperar a que caduque.

Inserte un enlace al archivo password.aspx en la página de inicio de sesión de RDWeb (cree una copia de seguridad del archivo password.aspx antes de editarlo).

  1. En el servidor RDWeb, busque y abra el archivo C:\Windows\Web\RDWeb\Pages n-US\login.aspx en cualquier editor de texto (prefiero Notepad++);

  2. Vaya a la línea 429 (En Windows Server 2022, se encuentra después del siguiente bloque HTML

    <tr id="trPasswordExpiredNoChange" <%=strErrorMessageRowStyle%> > … </tr>

    ) y pegue el siguiente código:

  3. <!-- Begin: Add Change Password Link -->
    <tr>
    <td align="right"> <a href="password.aspx" title="Change AD User Password">Click here </a>to change your password.
    </td>
    </tr>
    <!-- End: Add Change Password Link -->

  4. Guarde los cambios en el archivo login.aspx, reinicie el sitio web de IIS y asegúrese de que aparezca un vínculo a la página de cambio de contraseña en la página de inicio de sesión del servidor web de Escritorio remoto.

Los usuarios remotos ahora pueden cambiar la contraseña caducada en su servidor RDS sin la intervención del administrador. Tenga en cuenta que si utiliza credenciales almacenadas en caché de dominio para iniciar sesión en su computadora local, no se actualizarán después de que cambie su contraseña de Active Directory a través de RDWebAccess.

Artículos relacionados