Question
exception lors de la récupération ......
- daniel soares
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 133
- Remerciements reçus 0
il y a 17 ans 5 mois #2843
par daniel soares
Réponse de daniel soares sur le sujet Re:exception lors de la récupération ......
je n'ai pas d'idée autre que sur le diagnostique
j'ai enregistré ton fichier csv d'exemple puis lancé ton code pour creer la variable $ou
ce qui donne
[code:1]
PS 23/09-14:02 > foreach($v in $var) {$OU=\"LDAP://localhost:389/OU=\" + $v.ou;$ou|write-host}
LDAP://localhost:389/OU=users
LDAP://localhost:389/OU=users
LDAP://localhost:389/OU=users
[/code:1]
et ca fonctionne on a bien l'ou users qui est ajoutée mais la requette correspond elle a ton infra? je crois que ces requettes sont case sensitives
a quoi devrait correspondre ta requette LDAP pour que ca fonctionne?<br><br>Message édité par: Dan, à: 23/09/08 14:20
j'ai enregistré ton fichier csv d'exemple puis lancé ton code pour creer la variable $ou
ce qui donne
[code:1]
PS 23/09-14:02 > foreach($v in $var) {$OU=\"LDAP://localhost:389/OU=\" + $v.ou;$ou|write-host}
LDAP://localhost:389/OU=users
LDAP://localhost:389/OU=users
LDAP://localhost:389/OU=users
[/code:1]
et ca fonctionne on a bien l'ou users qui est ajoutée mais la requette correspond elle a ton infra? je crois que ces requettes sont case sensitives
a quoi devrait correspondre ta requette LDAP pour que ca fonctionne?<br><br>Message édité par: Dan, à: 23/09/08 14:20
Connexion ou Créer un compte pour participer à la conversation.
- daniel soares
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 133
- Remerciements reçus 0
il y a 17 ans 5 mois #2845
par daniel soares
Réponse de daniel soares sur le sujet Re:exception lors de la récupération ......
pardon je n'avais pas tout lu
moi pour le peu que j'ai travaillé sur adsi
je l'ai fait a partir des commandes du .net
ce qui donne pour la connexion
[code:1]
$requette = \"LDAP://serveur\"
$ad = New-Object system.DirectoryServices.DirectoryEntry($requette,\"compte\",\"mdp\"«»)
[/code:1]
ce qui est plus claire a l'utilisation
moi pour le peu que j'ai travaillé sur adsi
je l'ai fait a partir des commandes du .net
ce qui donne pour la connexion
[code:1]
$requette = \"LDAP://serveur\"
$ad = New-Object system.DirectoryServices.DirectoryEntry($requette,\"compte\",\"mdp\"«»)
[/code:1]
ce qui est plus claire a l'utilisation
Connexion ou Créer un compte pour participer à la conversation.
- michault
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 128
- Remerciements reçus 0
il y a 17 ans 5 mois #2847
par michault
Réponse de michault sur le sujet Re:exception lors de la récupération ......
J'ai trouvé mon problème
le conteneur users n'est pas une uo mais un cn.
Voilà mon fichier csv définitif et mon script.
Je rajoute même les utilisateurs créés à des groupes
nom,prenom,tel,description,password,ou,group
nom1,prenom1,0478111111,description1,password1,\"DSI,OU=lyon,OU=comptes\",\"G_chm,OU=groupes\"
nom2,prenom2,0478222222,description2,password2,\"ENTREPRISE,OU=lyon,OU=comptes\",\"G_chm,OU=groupes\"
nom3,prenom3,0478333333,description3,password3,\"DGN,OU=lyon,OU=comptes\",\"G_chm,OU=groupes\"
#Définition des constantes
$domain = \",DC=xxxxx,DC=xxx\"
$dont_expire_password = 65536
# Récupération fichier paramètres
$var=Import-Csv 'c:\PWRSHELL\CreateUser+AddGroupWithCsv.csv'
foreach($v in $var)
{
$OU=\"LDAP://OU=\" + $v.ou + $domain
$objOU = [ADSI] $OU
$nomcomplet= $v.prenom+\" \"+$v.nom
$cn=\"CN=\" + $nomcomplet
$objUser = $objOU.create(\"user\", $cn)
# sAMAccountName est le seul attribut obligatoire
# à spécifier pour créer un compte
$objUser.put(\"sAMAccountName\", $v.nom)
# à spécifier pour bénéficier d'une ouverture de session Kerberisée
$objUser.put(\"userprincipalName\", $v.nom)
# prénom
$objUser.put(\"givenName\", $v.prenom)
# nom
$objUser.put(\"sn\", $v.nom)
# Numéro de téléphone
$objUser.put(\"telephoneNumber\", $v.tel)
# Description
$objUser.put(\"description\", $v.description)
# Nom affiché : nom qui sera visible dans l'annuaire Exchange
$objUser.put(\"displayName\", $nomcomplet)
$objUser.SetInfo()
# Activation du compte après création
$objUser.psbase.InvokeSet('AccountDisabled',$false)
# Définition du mot de passe
$objUser.setpassword($v.password)
# le mot de passe n'expire jamais
$objUser.useraccountcontrol= $dont_expire_password
$objUser.SetInfo()
# Membre de
$Groupe = \"LDAP://localhost:389/CN=\" + $v.group + $domain
$objGroupe = [ADSI] $Groupe
$user = \"LDAP://localhost:389/\" + $cn +\",OU=\" + $v.ou + $domain
$objGroupe.add($user)
$ObjGroupe.SetInfo()
write-host \"User \" $nomcomplet \" créé avec succès!\"
}
Merci à tous pour l'aide:woohoo:
Par contre si quelqu'un a une piste pour mon post sur FindOne() je suis preneur.
<br><br>Message édité par: chm69, à: 23/09/08 16:55
le conteneur users n'est pas une uo mais un cn.
Voilà mon fichier csv définitif et mon script.
Je rajoute même les utilisateurs créés à des groupes
nom,prenom,tel,description,password,ou,group
nom1,prenom1,0478111111,description1,password1,\"DSI,OU=lyon,OU=comptes\",\"G_chm,OU=groupes\"
nom2,prenom2,0478222222,description2,password2,\"ENTREPRISE,OU=lyon,OU=comptes\",\"G_chm,OU=groupes\"
nom3,prenom3,0478333333,description3,password3,\"DGN,OU=lyon,OU=comptes\",\"G_chm,OU=groupes\"
#Définition des constantes
$domain = \",DC=xxxxx,DC=xxx\"
$dont_expire_password = 65536
# Récupération fichier paramètres
$var=Import-Csv 'c:\PWRSHELL\CreateUser+AddGroupWithCsv.csv'
foreach($v in $var)
{
$OU=\"LDAP://OU=\" + $v.ou + $domain
$objOU = [ADSI] $OU
$nomcomplet= $v.prenom+\" \"+$v.nom
$cn=\"CN=\" + $nomcomplet
$objUser = $objOU.create(\"user\", $cn)
# sAMAccountName est le seul attribut obligatoire
# à spécifier pour créer un compte
$objUser.put(\"sAMAccountName\", $v.nom)
# à spécifier pour bénéficier d'une ouverture de session Kerberisée
$objUser.put(\"userprincipalName\", $v.nom)
# prénom
$objUser.put(\"givenName\", $v.prenom)
# nom
$objUser.put(\"sn\", $v.nom)
# Numéro de téléphone
$objUser.put(\"telephoneNumber\", $v.tel)
# Description
$objUser.put(\"description\", $v.description)
# Nom affiché : nom qui sera visible dans l'annuaire Exchange
$objUser.put(\"displayName\", $nomcomplet)
$objUser.SetInfo()
# Activation du compte après création
$objUser.psbase.InvokeSet('AccountDisabled',$false)
# Définition du mot de passe
$objUser.setpassword($v.password)
# le mot de passe n'expire jamais
$objUser.useraccountcontrol= $dont_expire_password
$objUser.SetInfo()
# Membre de
$Groupe = \"LDAP://localhost:389/CN=\" + $v.group + $domain
$objGroupe = [ADSI] $Groupe
$user = \"LDAP://localhost:389/\" + $cn +\",OU=\" + $v.ou + $domain
$objGroupe.add($user)
$ObjGroupe.SetInfo()
write-host \"User \" $nomcomplet \" créé avec succès!\"
}
Merci à tous pour l'aide:woohoo:
Par contre si quelqu'un a une piste pour mon post sur FindOne() je suis preneur.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.088 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- exception lors de la récupération ......