Question modification compte utilisateur AD en masse

Plus d'informations
il y a 11 ans 1 semaine #19252 par MARY
Bonjour,

Je voudrais modifier les propriétés \"téléphone\" de tous les utilisateurs AD.
Dans mon précédent boulot, je l'avais déjà fait facilement car tous mes utilisateur étaient dans une OU \"users\"

Maintenant les utilisateurs dans plusieurs OU à différents niveau.
Mon but est le suivant:
A partir d'un csv simple de 2 colonnes du style \"nom complet de l'utilisateur\";\"numéro de téléphone\", pour chaque ligne correspondant à l'utilisateur
- je me connecte sur l'objet $user = [ADSI]'LDAP://CN=prénom NOM,OU=Etage1,OU=Siege,DC=mondomaine,DC=local',
- je modifie ou ajoute le N° de tel ($user.tel)
-Je valide la modification

J'ai essayer de modifier mon précédent script mais je pense que je dois récupérer les distinguishedName de chaque user et le passer en paramètre pour me connecter sur l'objet \"User\" et boucler jusqu’à la fin
Avez vous des idées - simples ?

Merci d'avance de vos réponses
Mi K L

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 6 jours #19258 par Philippe
salut Mi KL

travaille tu avec un domaine en 2008R2 ?
ca faciliterais un peu le travail de pouvoir utilisé le module active directory !

puisque tu a une organisation bien faite sur plusieurs OU, il te faut travaillé avec le SamAccountName (le login) qui est unique dans un domaine !
La encore ca simplifie les choses si c'est possible !


mais pour commencé : peut tu nous montré ton script ou un extrait pour partir sur une base<br><br>Message édité par: 6ratgus, à: 16/03/15 15:57

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 5 jours #19272 par MARY
Salut 6ratgus

Merci de ta réponse

Je travaille effectivement en domaine 2008R2
Dans le CSV que je récupère (à partir d'une base oracle) je n'ai que le \&quot;prenom nom\&quot; et pas le login

ci dessous le script de mon précedent boulot où tous les utilisateurs étaient dans l'ou \&quot;users\&quot; et qui fonctionnait.
Je modifiais la propriété Email avec un CVS en entrée composé de 2 colonnes 'Prénom Nom'; \&quot;Email\&quot;. Je voudrais l'adapter pour récuperer le 'DistinguishedName' pour chaque utilisateur:
###############################################
Import-Module activedirectory
$objOU=[ADSI]\&quot;LDAP://FRTRG1-DC001.nutrition.local/OU=Users,DC=MonDomaine,DC=local\&quot;

$dataSource=import-csv -Delimiter \&quot;;\&quot; -Path \&quot;c:\temp\autousers\ListeUser.csv\&quot;
$cpt = 0
foreach($dataRecord in $dataSource) {
$cn = $dataRecord.user
$Email = $dataRecord.email

$User = \&quot;CN=\&quot;+$cn +\&quot;,OU=Users,DC=MonDomaine,DC=local\&quot;

# controle des variables
# Enlever les #
#Write $cn
Write $email
#Write $User

# ajout de l'email
Dsmod user $user -email $Email
}
##############################################

voilà, une idée pour récuperer le distinguishedName ou pour constiutuer ma variable $objOU ?
Merci

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 11 ans 5 jours #19277 par Philippe
j'allais te proposé de travaillé avec les emails mais si les emails que tu met à jours ça va pas aller

je te propose cette modification :
[code:1]###############################################
Import-Module activedirectory
$objOU=[ADSI]\&quot;LDAP://FRTRG1-DC001.nutrition.local/OU=Users,DC=MonDomaine,DC=local\&quot;

$dataSource=import-csv -Delimiter \&quot;;\&quot; -Path \&quot;c:tempautousersListeUser.csv\&quot;
$cpt = 0
foreach($dataRecord in $dataSource) {
$cn = $dataRecord.user
$Email = $dataRecord.email

$User = Get-ADUser -Filter \&quot;name -eq '$cn'\&quot;
# controle des variables
# Enlever les #
#Write $cn
Write $email
#Write $User

# ajout de l'email
Set-ADUser -Identity $user -EmailAddress $Email
}
##############################################
[/code:1]

cette ligne :
[code:1]$User = Get-ADUser -Filter \&quot;name -eq '$cn'\&quot;[/code:1]
retrouve l'utilisateur dans l'AD courante. tu a bien plus que le 'DistinguishedName'

cette ligne :
[code:1]Set-ADUser -Identity $user -EmailAddress $Email[/code:1]ici ta compris !

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.039 secondes
Propulsé par Kunena