Pourquoi les caractères « a » et « o » dans samAccountName peuvent-ils être remplacés par les caractères danois å et ø ?

Un collègue vient de me démontrer que les comptes dans notre AD de test pouvaient s’authentifier en remplaçant chaque caractère « a » dans leur samAccountName par le caractère danois å (ASCII 134 / å).

Par exemple, l’utilisateur <domaine>\aaa peut s’authentifier en tant que ååå.

J’ai essayé de reproduire cela dans un AD W2K12R2 fraîchement provisionné (serveur unique, toutes les valeurs par défaut), et cela fonctionne aussi. J’ai créé un compte aaa (sans jamais toucher à la lettre å dans le processus, de sorte que rien ne contient å) et j’ai exécuté :

PS C:\Users\Administrator> runas /user:ååå notepad
Enter the password for ååå:
Attempting to start notepad as user "DEV-DLI\ååå" ...
PS C:\Users\Administrator>

ce qui a provoqué le démarrage du bloc-notes, s’exécutant en tant que aaa.

La même chose semble s’appliquer pour « o » et le caractère danois ø, tandis que le dernier caractère spécial danois æ ne semble correspondre à aucun autre caractère. Avec l’utilisateur aaa dans AD, essayer de créer un utilisateur avec le samAccountName ååå échouera, vous informant que « Le nom d’ouverture de session utilisateur que vous avez choisi est déjà utilisé (…) ».

J’ai cherché comme un fou sur Google, mais je n’ai pas réussi à comprendre ce qui se passe. Quelqu’un a-t-il des pistes sur la raison pour laquelle cela fonctionne ?

C’est un comportement attendu (by design). En bref, Active Directory associe les caractères accentués/diacritiques à leur forme « simple ». Veuillez consulter l’article de support Microsoft suivant.

Comportement de connexion Windows si votre nom d’utilisateur contient des caractères avec des accents ou d’autres signes diacritiques (Lien mort) (Version archivée ici) :

Si votre nom d’utilisateur dans le service d’annuaire Active Directory contient un ou plusieurs caractères avec des accents ou d’autres signes diacritiques, vous pouvez constater que vous n’avez pas besoin d’utiliser le signe diacritique lorsque vous tapez votre nom d’utilisateur pour vous connecter à Windows. Vous pouvez vous connecter en utilisant la forme simple du ou des caractères. Par exemple, si votre nom d’utilisateur dans Active Directory est jésush, vous pouvez taper jesush dans la zone Nom d’utilisateur de la boîte de dialogue Connexion à Windows pour vous connecter.

Ce comportement existe afin que, dans les situations où vous devez vous connecter à Windows depuis un ordinateur où la disposition de clavier préférée n’est pas installée, vous puissiez toujours vous connecter en utilisant votre nom d’utilisateur sans les signes diacritiques.