Question
exception lors de la récupération ......
- michault
- Auteur du sujet
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 128
- Remerciements reçus 0
il y a 17 ans 6 mois #2811
par michault
exception lors de la récupération ...... a été créé par michault
J’ai un script pour créer des utilisateurs à partir d’un fichier .csv.
Le 1er fonctionne très bien.
[code:1]
# Récupération fichier paramètres
$var=Import-Csv 'c:\PWRSHELL\ListeUser.csv'
#Spécifier l'unité d'organisation
$objOU= [ADSI]\"LDAP://localhost:389/OU=DSI,OU=lyon,OU=comptes,DC=xxxx,DC=org\"
$domain = \",DC=xxxx,DC=org\"
$objGroupe = [ADSI]\"LDAP://localhost:389/CN=G_Collaborateurs DSI,OU=groupes,DC=xxxx,DC=org\"
$dont_expire_password = 65536
foreach($v in $var)
{
$nomcomplet= $v.prenom+\" \"+$v.nom
$cn=\"CN=\" + $nomcomplet
$user = \"LDAP://localhost:389/\" + $cn +\",OU=DSI,OU=lyon,OU=comptes,DC=xxxx,DC=org\"
$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
$ObjGroupe.Add($user)
write-host \"User \" $nomcomplet \" créé avec succès!\"
}[/code:1]
Le 2ème provoque le message d’erreur suivant :
Exception lors de la récupération du membre « create » : L’objet ne se trouve pas sur le serveur.
J’essaye contrairement au 1er script de ne plus avoir lUO en dur mais à partir du fichier .csv auquel j’ai rajouté une colonne.
[code:1]
# Récupération fichier paramètres
$var=Import-Csv 'c:\PWRSHELL\ListeUser.csv'
#Spécifier l'unité d'organisation
$domain = \",DC=xxxx,DC=org\"
$dont_expire_password = 65536
foreach($v in $var)
{
$nomcomplet= $v.prenom+\" \"+$v.nom
$cn=\"CN=\" + $nomcomplet
$OU=\"LDAP://localhost:389/OU=\" + $v.ou + $domain
$objOU=[ADSI] $OU
$objUser= $objOU.create(\"user\", $cn)
$objUser.SetInfo()
# 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
$user = \"LDAP://localhost:389/\" + $cn +\",OU=\" +$v.ou +$domain
$ObjGroupe.Add($user)
write-host \"User \" $nomcomplet \" créé avec succès!\"
}[/code:1]
Quelqu’un peut-il m’aider ?
Merci d’avance<br><br>Message édité par: Arnaud, à: 17/09/08 22:24
Le 1er fonctionne très bien.
[code:1]
# Récupération fichier paramètres
$var=Import-Csv 'c:\PWRSHELL\ListeUser.csv'
#Spécifier l'unité d'organisation
$objOU= [ADSI]\"LDAP://localhost:389/OU=DSI,OU=lyon,OU=comptes,DC=xxxx,DC=org\"
$domain = \",DC=xxxx,DC=org\"
$objGroupe = [ADSI]\"LDAP://localhost:389/CN=G_Collaborateurs DSI,OU=groupes,DC=xxxx,DC=org\"
$dont_expire_password = 65536
foreach($v in $var)
{
$nomcomplet= $v.prenom+\" \"+$v.nom
$cn=\"CN=\" + $nomcomplet
$user = \"LDAP://localhost:389/\" + $cn +\",OU=DSI,OU=lyon,OU=comptes,DC=xxxx,DC=org\"
$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
$ObjGroupe.Add($user)
write-host \"User \" $nomcomplet \" créé avec succès!\"
}[/code:1]
Le 2ème provoque le message d’erreur suivant :
Exception lors de la récupération du membre « create » : L’objet ne se trouve pas sur le serveur.
J’essaye contrairement au 1er script de ne plus avoir lUO en dur mais à partir du fichier .csv auquel j’ai rajouté une colonne.
[code:1]
# Récupération fichier paramètres
$var=Import-Csv 'c:\PWRSHELL\ListeUser.csv'
#Spécifier l'unité d'organisation
$domain = \",DC=xxxx,DC=org\"
$dont_expire_password = 65536
foreach($v in $var)
{
$nomcomplet= $v.prenom+\" \"+$v.nom
$cn=\"CN=\" + $nomcomplet
$OU=\"LDAP://localhost:389/OU=\" + $v.ou + $domain
$objOU=[ADSI] $OU
$objUser= $objOU.create(\"user\", $cn)
$objUser.SetInfo()
# 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
$user = \"LDAP://localhost:389/\" + $cn +\",OU=\" +$v.ou +$domain
$ObjGroupe.Add($user)
write-host \"User \" $nomcomplet \" créé avec succès!\"
}[/code:1]
Quelqu’un peut-il m’aider ?
Merci d’avance<br><br>Message édité par: Arnaud, à: 17/09/08 22:24
Connexion ou Créer un compte pour participer à la conversation.
- Robin Lemesle
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 260
- Remerciements reçus 0
il y a 17 ans 6 mois #2812
par Robin Lemesle
Robin MVP PowerShell
Réponse de Robin Lemesle sur le sujet Re:exception lors de la récupération ......
Salut chm69.
Alors, deux questions bêtes mais qui peuvent éviter de tourner en rond pour rien :
- Tes OU sont bien déjà créées ?
- Ton objet $objOU est-il Null ?<br><br>Message édité par: Robin, à: 17/09/08 15:22
Alors, deux questions bêtes mais qui peuvent éviter de tourner en rond pour rien :
- Tes OU sont bien déjà créées ?
- Ton objet $objOU est-il Null ?<br><br>Message édité par: Robin, à: 17/09/08 15:22
Robin MVP PowerShell
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 6 mois #2813
par michault
Réponse de michault sur le sujet Re:exception lors de la récupération ......
Salut Robin
Quelle réactivité!
Mes OU sont créées.
Ma variable $OU est bien chargée par contre je ne sais pas si $objOU = [ADSI] $OU renvoi une valeur Null
Comment puis-je m'en assurer?
Voilà le message d'erreur suivant:
+ $objUser = <<<< $objOU.create(\"user\", $cn)
Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.<br><br>Message édité par: chm69, à: 17/09/08 17:42
Quelle réactivité!
Mes OU sont créées.
Ma variable $OU est bien chargée par contre je ne sais pas si $objOU = [ADSI] $OU renvoi une valeur Null
Comment puis-je m'en assurer?
Voilà le message d'erreur suivant:
+ $objUser = <<<< $objOU.create(\"user\", $cn)
Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.<br><br>Message édité par: chm69, à: 17/09/08 17:42
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 17 ans 6 mois #2814
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:exception lors de la récupération ......
Salut Chm69 et bienvenue sur le forum !
Il doit y avoir probablement un problème avec ton import de fichier CSV. La structure n'est peut-être pas correcte.
Pourrais tu en poster un extrait dans le forum stp ?
Arnaud
Il doit y avoir probablement un problème avec ton import de fichier CSV. La structure n'est peut-être pas correcte.
Pourrais tu en poster un extrait dans le forum stp ?
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
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 6 mois #2815
par michault
Réponse de michault sur le sujet Re:exception lors de la récupération ......
Salut Arnaud,
Comme demandé voilà mon fichier csv
nom,prenom,tel,description,password,ou
nom1,prenom1,0478111111,description1,password1,users
nom2,prenom2,0478111112,description2,password2,users
nom3,prenom3,0478111113,description3,password3,users
Contrairement à mon 1er script, j'ai voulu faire un test avec l'OU Users
@+<br><br>Message édité par: chm69, à: 18/09/08 08:21
Comme demandé voilà mon fichier csv
nom,prenom,tel,description,password,ou
nom1,prenom1,0478111111,description1,password1,users
nom2,prenom2,0478111112,description2,password2,users
nom3,prenom3,0478111113,description3,password3,users
Contrairement à mon 1er script, j'ai voulu faire un test avec l'OU Users
@+<br><br>Message édité par: chm69, à: 18/09/08 08:21
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 #2842
par michault
Réponse de michault sur le sujet Re:exception lors de la récupération ......
Je n'arrive toujours pas à passer mes OU à partir du fichier csv lors de la création de mes users.
Quelqu'un a-t-il une idée?
Merci d'avance
Quelqu'un a-t-il une idée?
Merci d'avance
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.111 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- exception lors de la récupération ......