Noms d'utilisateurs Active Directory: pourquoi le nom canonique varie-t-il? Puis-je faire quelque chose pour les rendre uniformes?

10

Je suis un administrateur autodidacte d'un réseau de travail Active Directory utilisé pour les connexions Windows sur ~ 30 PC. J'ai hérité du système de quelqu'un d'autre qui n'avait pas non plus de formation Microsoft directe et, par conséquent, je suis dans l'ignorance sur quelques points.

Le réseau lui-même a une seule machine Windows Server 2008 R2 agissant en tant que contrôleur de domaine, DNS, partages de fichiers, etc. Les connexions fonctionnent correctement, mais je fouillais la liste des utilisateurs tout en désactivant les anciens comptes et j'ai remarqué quelque chose que je ne comprends pas très bien. .

Voici quelques exemples de comptes d'utilisateurs:

  1. Nom de connexion: john
    Prénom: John
    Nom de famille: Smith
    Nom d'affichage: John Smith
    Nom canonique de l'objet: domain.com/Users/john

  2. Nom de connexion: bob
    Prénom: Bob
    Nom de famille: français
    Nom d'affichage: Bob français
    Nom canonique de l'objet: domain.com/Users/Bob français

Le contrôleur de domaine actuel a été remplacé par un autre qui exécutait Windows Server 2003. Le premier exemple de compte a été créé lorsque la zone Server 2003 était DC, le second a été créé lorsque la nouvelle zone Server 2008 R2 était DC. Pourquoi le nom canonique est-il différent et cela fait-il une différence?

Je suis principalement ennuyé par le fait que ma liste d'utilisateurs dans le navigateur Active Directory possède la moitié des comptes en tant que «prénom» et la moitié en tant que «prénom nom».

Puis-je faire quelque chose pour les rendre identiques sans casser les comptes de travail?

cuillères à soupe
la source
Stockez-vous réellement les utilisateurs dans l' domain.com/Usersunité d'organisation? Ou est-ce juste un exemple?
Mathias R. Jessen
Oui - ils sont tous dans domain.com/Users/ avec un certain nombre de groupes de sécurité. Est-ce une mauvaise pratique? Dois-je les déplacer? Puis-je les déplacer sans tout détruire?
evilspoons
2
Sauf si vous avez des applications externes utilisant de simples liaisons pour l'authentification, oui - vous pouvez les déplacer en toute sécurité - et vous devriez. Il donne un bien meilleur contrôle sur l'appliance de stratégie de groupe pour les séparer des groupes de sécurité bien connus. Je mettrai à jour la réponse pour couvrir cela aussi
Mathias R. Jessen
2
Cela dépend du nombre d'objets dans votre AD et de la façon dont vous souhaitez les organiser; généralement, il est préférable de les placer dans des unités d'organisation pour mieux les organiser et leur appliquer des objets de stratégie de groupe, et il est considéré comme la meilleure pratique de laisser les conteneurs par défaut (tels que "Utilisateurs" seuls).
Massimo

Réponses:

8

Active Directory ne se préoccupe pas vraiment de la façon dont le RDN de l'objet de compte d'utilisateur (la dernière partie du nom canonique) est lié à d'autres propriétés comme le nom d'affichage ou le nom de connexion - tant que la valeur de chaque attribut individuel ne viole pas le définition du schéma.

Le comportement du formulaire «Nouvel utilisateur» dans les utilisateurs et ordinateurs Active Directory (ainsi que dans un certain nombre d'autres dialogues) a considérablement changé entre Windows Server 2003 et Windows Server 2008 R2 - et c'est probablement pourquoi ils ne sont pas cohérents

Vous pouvez utiliser PowerShell pour déplacer les comptes non système, puis passer par les utilisateurs et les renommer quel que soit leur nom d'affichage:

# Create new OU named RegularUsers
New-ADOrganizationalUnit -Name RegularUsers -Path "dc=domain,dc=com"

# Retrieve all users that are not critical system objects
$users = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter {-not(isCriticalSystemObject -like '*')}

# Go through each and move to the new OU
foreach($user in $users){
    Move-ADObject $user -TargetPath "OU=RegularUsers,DC=domain,DC=com"
}

# Retrieve all users in the new OU
$movedUsers = Get-ADUser -SearchBase "CN=Users,DC=domain,DC=com" -SearchScope OneLevel -Filter '*'

foreach($user in $movedUsers){
    # Test if Display Name and object Name is the same, if not - rename
    if($user.DisplayName -ne $user.Name)
    { 
        Rename-ADObject $user -NewName "$($user.DisplayName)" 
    }
}

Pour la première étape, vous pouvez également mettre en surbrillance tous les comptes d'utilisateurs dans ADUC et les faire glisser vers un autre emplacement.

Mathias R. Jessen
la source
2

Le CN / DN d'un objet n'est pas du tout pertinent, car il n'est utilisé qu'en interne par AD et dans les requêtes LDAP; les utilisateurs finaux (et les administrateurs) peuvent très rarement même le voir. Il change en fait de lui-même lorsque vous déplacez des objets, car il inclut le chemin LDAP complet de l'objet.

Si vous souhaitez le standardiser, cela peut être fait sans aucun effet secondaire; la seule chose qui préoccupe réellement les utilisateurs est leur nom de connexion, et tant que vous ne changez pas cela , ils continueront à se connecter comme d'habitude.

Pour le modifier, vous pouvez utiliser la console ADUC ou la commande PowerShell Rename-ADObject .

Massimo
la source
2
Je dirais que CN / DN est important en ce qui concerne l'intégration avec les applications. L'intégration AD est généralement introuvable, contrairement à LDAP. C'est agréable d'avoir votre CN / DN suivre une norme. Cela a l'air plus joli aussi :) Excellentes informations sur la façon de le changer.
Steve Butler
1

La commande dsmove devrait pouvoir changer le nom canonique pour vous. Je l'ai fait dans des environnements de test, mais jamais dans des environnements vivants, je vous conseille donc de procéder avec prudence.

En outre, semi-lié, je conseillerais d'implémenter un autre contrôleur de domaine pour éviter un mal de tête si votre seul contrôleur de domaine tombe en panne.

DKNUCKLES
la source
Si le niveau fonctionnel du domaine et de la forêt est sur Server 2008 R2, l'ancien boîtier Server 2003 peut-il servir de contrôleur de domaine secondaire ou devons-nous mettre à niveau le système d'exploitation de cette machine?
evilspoons
2
Vous ne pouvez pas augmenter le niveau fonctionnel de domaine / forêt à la version X à moins que tous les contrôleurs de domaine dans le domaine / forêt aient au moins cette version du système d'exploitation.
Massimo
@evilspoons oui, vous pouvez, mais comme le dit massimo, il faudra que ce soit au niveau du domaine 2003 pour ce faire.
Steve Butler
4
@SteveButler Puisque DFL / FFL 2008R2 ne peut pas être rétabli plus loin que le niveau 2008, "oui" n'est certainement pas la réponse ici
Mathias R. Jessen
D'accord, donc mes options sont de reconstruire le domaine au niveau de 2003 (ça n'arrivera pas) ou de mettre à niveau la box 2003 vers 2008 R2 (cela n'arrivera probablement pas non plus, mon patron dépenserait plus tôt l'argent sur une nouvelle machine que de jouer avec un le vieux). Je ferai en sorte que nos sauvegardes soient bonnes, juste au cas où quelque chose
MORT