Auteur de questions
Modification d'utilisateurs AD

Question
-
Bonjour, dans ma boite on a un projet de renommer les comptes users des employés ainsi que leur adresse mails .
Il y a un peu plus de 1500 comptes a modifier.
Savez vous me dire comment je peux procéder?
L'idée et de modifier leur nom de de connexion en prenom.nom et en mail prenom.nom egalement sachant qu'aujourd'hui ce n'est pas du tout cela.
Pour minimiser les impacts faut t'il ne pas modifier le samaccountname et seulement l'UPN ?
Merci de votre aide (et peut etre que cela ne peut pas se faire en powershell?
Toutes les réponses
-
Bonjour,
Cela peut se faire en powershellpar contre il faudrait mieux tester avant. Parce que je sais pas si c'est uniquement le SID qui est utilisé lorsqu'un utilisateur se connecte sur un poste même si j'ai envie de dire oui.
En gros, tu crée un utilisateur de test, tu te connectes sur un poste et tu crée un fichier sur le bureau, puis tu change le samaccountname de manière graphique, tu essaye de te logguer de nouveau et tu vois si tu as bien le fichier sur le bureau.
Pour exchange, ce sera pas compliqué de mémoir eil faut juste rajouter un alias smtp ou tu défini le nouveau format en laissant celui actuel bien sur sinon les utilisateurs ne recevront plus les mails.
Donc pour moi, mais à faire valider, une fois que tu as vérifier les modifs sur l'AD et appliquer ce changement pour les adresses mails c'est une formalité.
Au niveau du powershell, va forcement te falloir faire une boucle pour parcourir tous les utilisateurs que tu souhaites en fonction des ou, et utiliser les commandlets get-aduser / set-aduser )
- Modifié matteu31400 vendredi 15 juillet 2016 12:31
-
Merci pour la réponse et je valide (car j'avais déjà fait le test , en changeant juste le samaccountname, je retrouve tout mes dossiers.
par contre mes connaissance en powershell ne sont pas top alors je ne demande pas forcement le script tout fait mais avoir une trame m'aiderai bien
Merci
-
$ObjFilter = "(&(objectCategory=person)(objectCategory=User))" $objSearch = New-Object System.DirectoryServices.DirectorySearcher $objSearch.PageSize = 15000 $objSearch.Filter = $ObjFilter #renseigner l'OU sur laquelle on veut appliquer les changement via le Dinstinguish Name. $objSearch.SearchRoot = "LDAP://OU=XXX,OU=YYY,DC=AAA,DC=BBB" $AllObj = $objSearch.FindAll() foreach ($Obj in $AllObj) { $objItemS = $Obj.Properties $UserDN = $objItemS.distinguishedname $user = [ADSI] "LDAP://$userDN" $user.sAMAccountName = "" #Application des modifications $user.setinfo() }
J'ai pris un morceau d'un script que j'avais utilisé pour changer les chemin des lecteur mappé etc...
il faut juste trouvé les bonne propriété pour $user.sAMAccountName
ce sera par exemple $user.sAMAccountName="$user.firstname.$user.lastname
Je connais pas les propriété de $user faut faire $user | gm et tu verras ca
- Modifié matteu31400 vendredi 15 juillet 2016 14:03
-
-
-
Il n'y a pas de danger spécial a changer le samaccountname ou l'UPN.
Attention tout de même :
- longueur maximale du samaccountname : 20caractères :https://msdn.microsoft.com/en-us/library/ms679635(v=vs.85).aspx
-il te faudra faire des contrôles pour gérer les comptes avec des prénoms composés, les accents etc.
sinon en powershell
$users = get-aduser -SearchScope ...... permet de recupérer la liste des utilisateurs
ensuite tu peux mettre la boucle :
foreach ($user in $users) ...
et set-aduser $user -samaccountame .... pour mettre à jour l'uitlisateur.
Pour les mails n'oublient pas de conserver pendant un certain temps l'ancienne adresse car les correspondants on l'habitude d'écrire à cette adresse. Sinon les mails n'arriveront plus et tes utilisateurs vont passé leur journée à répondre à leurs correspondants ... Tu peux le gérer depuis Exchange.
- Proposé comme réponse 6ratgus lundi 18 juillet 2016 09:58
-