(modifié le 21 mars 2019 à 13:15)

Parfois on a besoin de mettre à jour en masse des attributs utilisateur Active Directory. C'est le cas lors de rachat, filialisation, déménagement, etc.

Voyons comment le faire sur tous les utilisateurs d'une OU (unité d'organisation, ou container).

En PowerShell

Voici un exemple d'injection de quelques champs :

L'injectin du champ "l" avec $null est ici pour vous montrer comment vider un champ (au départ j'avais injecté la ville dans "l" au lieu de "city"... car en PowerShell "city" correspond à "l" dans l'AD...). Pour éviter ce genre d'erreurs, voici la correspondance avec les attributs dans l'AD (visible avec LDAP Browser / ldp.exe) :

  • officephone = attribut telephoneNumber
  • city = attribut l
  • homepage = attribut wWWHomePage
  • tous les attributs (technet)

Pour avoir de l'aide sur des attributs :

Lister les attributs pour un utilisateur donné :

Autre solution pour le faire dans une boucle (bis)

Bien sûr pour mettre à jour juste un utilisateur :

Avec dsquery

Alternative avec dsquery, qui permet pas de mettre à jour tous les attributs, donc préférez powershell.

dsquery user "OU=Paris,OU=France,DC=societe,DC=local" -limit 0 | dsmod user -street "3 rue de Pi"
dsquery user "OU=Paris,OU=France,DC=societe,DC=local" -limit 0 | dsmod user -tel "+33 4 01 23 45 67"

Conclusion

Simple, pratique, efficace.

Auteur : Mr Xhark

Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter