Modification de masse dans active directory
Fermé
meldrone
Messages postés
8
Date d'inscription
vendredi 3 avril 2009
Statut
Membre
Dernière intervention
24 juillet 2015
-
23 juil. 2015 à 12:32
meldrone Messages postés 8 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 24 juillet 2015 - 24 juil. 2015 à 16:10
meldrone Messages postés 8 Date d'inscription vendredi 3 avril 2009 Statut Membre Dernière intervention 24 juillet 2015 - 24 juil. 2015 à 16:10
A voir également:
- Modification de masse dans active directory
- Logiciel modification pdf - Guide
- Suivi de modification word - Guide
- Renommer fichier en masse - Guide
- Directory opus - Télécharger - Gestion de fichiers
- Directory list & print - Télécharger - Divers Utilitaires
2 réponses
kelux
Messages postés
3065
Date d'inscription
vendredi 18 juin 2004
Statut
Contributeur
Dernière intervention
20 janvier 2023
431
Modifié par kelux le 24/07/2015 à 14:04
Modifié par kelux le 24/07/2015 à 14:04
Bonjour,
%username% est une variable d'environnement; ce n'est pas une "variable utilisable dans AD", au sens propre du terme.
https://ss64.com/nt/syntax-variables.html
Les SN,CN givenname sont des attributs format LDAP, et donc non connus par les variables d'environnement.
-
Pour "scripter" avec AD il y a plusieurs méthodes : VBScript, LDIFDE/CSVDE, DSquery (et les autres outils DS*), et powershell. (sans oublier les CMDlets Quest pour AD... Très utile !! http://software.dell.com/products/activeroles-server/powershell.aspx )
Aujourd'hui Powershell devient incontournable.
Voici l'exemple avec Powershell :
Il faut modifier :
- le searchbase pour refléter l'environnement et filter là où se trouve les utilisateurs impactés par la modification.
- le champ email et faire correspondre la règle de n,ommage de emails ... notamment le nom de domaine qui est mis manuellement.
Avant de faire tourner ce bout de script, faites le test sur quelques utilisateurs manuellement en changeant 'moncompte' par un compte de test:
-
Pour utiliser Powershell dans les environnements AD, il faut :
- Si on exécute le code depuis sa station, il faut installer les RSAT et les modules AD avec Powershell. Je préfère faire tourner ces scripts sur des machines qui ne sont pas controleurs de domaine.
- Les DC sont en 2008r2 et + : pas de souci.
- Les DC sont en 2003-2003r2-2008 : il faut installer ADMGS (le service Web AD) sur ces DCs.
http://www.microsoft.com/en-us/download/details.aspx?id=2852
liens utiles :
http://webreaktech.com/2014/03/10/getting-ad-user-data-via-powershell/
https://serverfault.com/questions/476135/how-to-change-all-users-ad-email-contact-using-powershell
Using a registry "compactor" on top of a registry "cleaner" would be equivalent to rinsing your throat with a swig of Jack Daniels after swallowing a pint of snake oil....
%username% est une variable d'environnement; ce n'est pas une "variable utilisable dans AD", au sens propre du terme.
https://ss64.com/nt/syntax-variables.html
Les SN,CN givenname sont des attributs format LDAP, et donc non connus par les variables d'environnement.
-
Pour "scripter" avec AD il y a plusieurs méthodes : VBScript, LDIFDE/CSVDE, DSquery (et les autres outils DS*), et powershell. (sans oublier les CMDlets Quest pour AD... Très utile !! http://software.dell.com/products/activeroles-server/powershell.aspx )
Aujourd'hui Powershell devient incontournable.
Voici l'exemple avec Powershell :
Import-Module ActiveDirectory $users = $users = Get-ADUser -Filter * -SearchBase "OU=MesUsers,DC=domain,DC=local" foreach ($user in $users) { $email = $user.givenname + '.' + $user.surname + '@domain.com' Set-ADUser -Identity $user.samaccountname -EmailAddress $email }
Il faut modifier :
- le searchbase pour refléter l'environnement et filter là où se trouve les utilisateurs impactés par la modification.
- le champ email et faire correspondre la règle de n,ommage de emails ... notamment le nom de domaine qui est mis manuellement.
Avant de faire tourner ce bout de script, faites le test sur quelques utilisateurs manuellement en changeant 'moncompte' par un compte de test:
Import-Module ActiveDirectory $user = Get-ADUser moncompte $email = $user.givenname + '.' + $user.surname + '@domain.com' Set-ADUser -Identity $user.samaccountname -EmailAddress $email
-
Pour utiliser Powershell dans les environnements AD, il faut :
- Si on exécute le code depuis sa station, il faut installer les RSAT et les modules AD avec Powershell. Je préfère faire tourner ces scripts sur des machines qui ne sont pas controleurs de domaine.
- Les DC sont en 2008r2 et + : pas de souci.
- Les DC sont en 2003-2003r2-2008 : il faut installer ADMGS (le service Web AD) sur ces DCs.
http://www.microsoft.com/en-us/download/details.aspx?id=2852
liens utiles :
http://webreaktech.com/2014/03/10/getting-ad-user-data-via-powershell/
https://serverfault.com/questions/476135/how-to-change-all-users-ad-email-contact-using-powershell
Using a registry "compactor" on top of a registry "cleaner" would be equivalent to rinsing your throat with a swig of Jack Daniels after swallowing a pint of snake oil....
meldrone
Messages postés
8
Date d'inscription
vendredi 3 avril 2009
Statut
Membre
Dernière intervention
24 juillet 2015
24 juil. 2015 à 16:10
24 juil. 2015 à 16:10
merci pour ces réponses.