Question Création de groupes avec un fichier CSV (Résolu)

Plus d'informations
il y a 14 ans 5 mois #784 par big_cham
Bonjour,

Je profite des vacances et du temps de disponible pour essayer powershell. Autant vous dire que mes compétences de développeur sont proches de 0 voir en dessous...:unsure:

Alors pour commencer mon apprentissage, je veux simuler la création de groupe AD provenant d'un fichier .csv.

J'ai fouillé un peu sur le forum pour la première étape : comment créer un groupe. J'ai ajouté dans mon script le code ci-dessous :

$objOU = [ADSI]\"LDAP://xxx:389/ou=xxx,ou=yyy,ou=zzz,dc=www,dc=fr\"

$objGroupe = $objOU.Create(\"group\", \"cn=nomdugroupe\")

$objGroupe.SetInfo()


Voilà ce que j'obtiens :

Exception lors de la récupération du membre « Create » : « Unknown error (0x800
05000) »
Au niveau de D:\temp\scripts\create_groupe_sql.ps1 : 3 Caractère : 13
+ $objGroupe = <<<< $objOU.Create(\"group\", \"cn=SQL-dbo-Abonnement\")
Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de D:\temp\scripts\create_groupe_sql.ps1 : 5 Caractère : 19
+ $objGroupe.SetInfo( <<<< )


J'ai l'impression que mon obj.groupe n'est pas accepté...<br><br>Message édité par: Arnaud, à: 1/08/07 18:00

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

Plus d'informations
il y a 14 ans 5 mois #785 par Robin Lemesle
Salut Big_cham :) et bienvenue dans le monde merveilleux de PowerShell ;)

J'ai fouillé un peu sur le forum pour la première étape : comment créer un groupe


Oui, la première étape est de te montrer comment créer un groupe. On verra après pour le .csv


La première chose en observant ton message d'erreur, c'est que l'on voit bien que ta requête LDAP n'a pas abouti, car $objGroupe est vide.

C'est donc par ici qu'il faut creuser. es-tu certain de ta requête et de tous ces OU ?


Pour faire simple, tu peux essayer de créer un groupe à la racine avec le code suivant.


[code:1]
$objDomain = [ADSI]\&quot;LDAP://localhost:389/dc=powershell-scripting,dc=com\&quot;

$objOU = $objDomain.Create(\&quot;organizationalUnit\&quot;, \&quot;ou=MonOUDeTest\&quot;«»)

$objOU.SetInfo() [/code:1]


et après tu ajoutes un utilisateur dans l'OU que tu viens de créer :

[code:1]$objOU = [ADSI]\&quot;LDAP://localhost:389/ou=MonOUDeTest,dc=powershell-scripting,dc=com\&quot;

$objUser = $objOU.Create(\&quot;user\&quot;, \&quot;cn=Moi\&quot;«»)

$objUser.Put(\&quot;sAMAccountName\&quot;, \&quot;Moi\&quot;«»)

$objUser.SetInfo()

[/code:1]



j'espère que tu vas y voir un peu plus clair, tiens nous au courant de l'évolution de ton script.


Rob

Robin MVP PowerShell

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

Plus d'informations
il y a 14 ans 5 mois #788 par big_cham
En executant que la première partie du code, voilà ce que j'obtiens :

Exception lors de la récupération du membre « Create » : « Le serveur n'est pas
opérationnel.
»
Au niveau de D:\temp\scripts\powershell\test.ps1 : 3 Caractère : 9
+ $objOU = &lt;&lt;&lt;&lt; $objDomain.Create(\&quot;organizationalUnit\&quot;, \&quot;ou=MonOUDeTest\&quot;)
Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de D:\temp\scripts\powershell\test.ps1 : 5 Caractère : 15
+ $objOU.SetInfo( &lt;&lt;&lt;&lt; )


Faut il que le serveur interrogé ait powershell d'installé ?

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

Plus d'informations
il y a 14 ans 5 mois #789 par Robin Lemesle
Ton erreur est clair :

Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.


cela veut dire que ta requête n'est pas bonne puisque l'objet retourné est vide.

Il faut dans un premier temps que tu arrives à bien structurer ta requête avec les bons noms (Serveur,OU et DC).


Faut il que le serveur interrogé ait powershell d'installé ?


non, c'est une requête ADSI.



Rob

Robin MVP PowerShell

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

Plus d'informations
il y a 14 ans 5 mois #790 par big_cham
J'ai trouvé mon erreur : j'ai mis une virgule de trop dans le chemin...:whistle:

Du coup, mon groupe a été crée dans la bonne OU.

Maintenant, on peut aborder la partie traitement en lot avec le fichier..;)

Euh petite question AD : c'est normal que mon groupe crée avec le script ait $DUL000-H7SKIB1VIUR0 comme groupe name (pre win 2000) ?<br><br>Message édité par: big_cham, à: 31/07/07 13:28

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

Plus d'informations
il y a 14 ans 5 mois #792 par big_cham
Je tatonne avec ces lignes là :

[code:1]$objOU = [ADSI]\&quot;LDAP://xxx:389/ou=xxx,ou=xxx,ou=xxx,dc=xxx,dc=xxx,dc=xxx\&quot;
Get-Content D:\TAF\scripts\powershell\create_groupe_sql_dbo.csv

Foreach-object {
$objOU.Create(\&quot;group\&quot;, \&quot;cn=\&quot;+ $_)
}
[/code:1]

Suis je proche de la réalité ?:( Ca coince avec la création du nom de groupe. Je ne sais pas comment lui dire de prendre le contenu du fichier pour créer le groupe<br><br>Message édité par: big_cham, à: 31/07/07 17:11

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

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