Impossible de changer le mot de passe d’un utilisateur via mstsc lorsque le NLA est activé sur une ferme RDS… Et c’est normal…

Nous avons vu arriver beaucoup de demandes d'utilisateurs qui recherchaient la possibilité de changer leur mot de passe (expiré par exemple) lorsqu'ils se connectent à leur session remote desktop sur une ferme RDS en utilisant le client mstsc.exe.

Lorsque le « Network Layer Authentication » (NLA) est activé sur une ferme Remote Dekstop Services (RDS), si un utilisateur se connecte pour la 1ere fois et qu'il doit changer son mot de passe, le message d'erreur suivant se produit :

L'utilisateur n'a pas la possibilité de changer son mot de passe.

Si le NLA n'est pas activé sur la ferme, alors, il a la possibilité de changer son mot de passe lorsqu'il arrive sur l'écran de logon de Windows :

En cliquant OK, on retrouve l'UI de changement de mot de passe.

Ce comportement est normal.

Le NLA délègue les informations d'authentification de l'utilisateur à travers un SSP (Security Support Provider) présent côté client : CredSSP.
Cela provoque un prompt de l'utilisateur avant même de créer la session sur le serveur RDS.
Malheureusement, la technologie CredSSP ne propose pas de fonctionnalité de changement de mot de passe (si le mot de passe est expiré ou doit être changé au logon suivant).

L'utilisation du NLA (et donc de credssp) est conseillée par Microsoft.
En effet, lorsque le NLA est activé, il y a des gains de performance puisque l'on échoue éventuellement avant de créer une session sur le serveur RDS.
D'un point de vue sécurité, cela permet aussi, entre autres, d'être moins susceptible de subir des attaques de type déni de service etc...

Comment changer mon mot de passe quand le NLA est activé ?

Si vous devez faire changer un mot de passe pour un utilisateur, dans RDS, il est possible de le faire en utilisant le portail rdweb installé avec le role RD WebAccess.

Il est possible que cette fonctionnalité ne soit pas activée.
Le blog suivant montre comment activer le changement de mot de passe sur le site rdweb:

https://social.technet.microsoft.com/wiki/contents/articles/10755.windows-server-2012-rds-enabling-the-rd-webaccess-expired-password-reset-option.aspx

Si l'utilisation du RDWeb n'est pas possible, on peut utiliser d'autres moyens pour changer le mot de passe :

Outlook Web Access, via une machine jointe au domaine, etc...