Question [Résolu]récupération des groupes

Plus d'informations
il y a 15 ans 3 mois #8180 par Jacques Barathon
Quand tu crées la connexion à un groupe donné, il faut que tu passes la propriété Path à l'affectation :

[code:1]
#connection à l'objet groupe
$objgrp = [ADSI] $groupeselection[$i].Path
[/code:1]

Là, ça devrait marcher.

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

Plus d'informations
il y a 15 ans 3 mois #8181 par olivia
Réponse de olivia sur le sujet Re:récupération des groupes
oki , met toujours un message d'erreur a cause de cette ligne.

message d'erreur :
Impossible d'indexer dans un tableau Null.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 65 Caractère : 35
+ $objgrp = [ADSI] $groupeselection[ <<<< $i].path
+ CategoryInfo : InvalidOperation: (0:Int32) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

La propriété « member » est introuvable sur cet objet ; assurez-vous qu'elle existe et qu'elle peut être définie.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 71 Caractère : 9
+ $objgrp. <<<< member += $utilisateur
+ CategoryInfo : InvalidOperation: (member:String) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound

Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 73 Caractère : 29
+ $objgrp.psbase.commitchanges <<<< ()
+ CategoryInfo : InvalidOperation: (commitchanges:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Impossible d'indexer dans un tableau Null.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 65 Caractère : 35
+ $objgrp = [ADSI] $groupeselection[ <<<< $i].path
+ CategoryInfo : InvalidOperation: (1:Int32) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

La propriété « member » est introuvable sur cet objet ; assurez-vous qu'elle existe et qu'elle peut être définie.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 71 Caractère : 9
+ $objgrp. <<<< member += $utilisateur
+ CategoryInfo : InvalidOperation: (member:String) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound

Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 73 Caractère : 29
+ $objgrp.psbase.commitchanges <<<< ()
+ CategoryInfo : InvalidOperation: (commitchanges:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Impossible d'indexer dans un tableau Null.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 65 Caractère : 35
+ $objgrp = [ADSI] $groupeselection[ <<<< $i].path
+ CategoryInfo : InvalidOperation: (2:Int32) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

La propriété « member » est introuvable sur cet objet ; assurez-vous qu'elle existe et qu'elle peut être définie.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 71 Caractère : 9
+ $objgrp. <<<< member += $utilisateur
+ CategoryInfo : InvalidOperation: (member:String) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound

Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 73 Caractère : 29
+ $objgrp.psbase.commitchanges <<<< ()
+ CategoryInfo : InvalidOperation: (commitchanges:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

Impossible d'indexer dans un tableau Null.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 65 Caractère : 35
+ $objgrp = [ADSI] $groupeselection[ <<<< $i].path
+ CategoryInfo : InvalidOperation: (3:Int32) [], RuntimeException
+ FullyQualifiedErrorId : NullArray

La propriété « member » est introuvable sur cet objet ; assurez-vous qu'elle existe et qu'elle peut être définie.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 71 Caractère : 9
+ $objgrp. <<<< member += $utilisateur
+ CategoryInfo : InvalidOperation: (member:String) [], RuntimeException
+ FullyQualifiedErrorId : PropertyNotFound

Vous ne pouvez pas appeler de méthode sur une expression ayant la valeur Null.
Au niveau de C:\Documents and Settings\Administrateur\Bureau\test0212.ps1 : 73 Caractère : 29
+ $objgrp.psbase.commitchanges <<<< ()
+ CategoryInfo : InvalidOperation: (commitchanges:String) [], RuntimeException
+ FullyQualifiedErrorId : InvokeMethodOnNull

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

Plus d'informations
il y a 15 ans 3 mois #8184 par olivia
Réponse de olivia sur le sujet Re:récupération des groupes
Je trouvé d'où venait l'erreur mais trouve pas de solution. Je m'explique, quand je recupère l'objet groupe cela se passe bien je recupère la valeur de connection : $obj = [ADSI] $Groupselection[$i].path par contre quand j'ajoute la fonction d'intégration à des groupes là, ça plante. Je ne sais pas quoi faire !!!
voici le morceau de script avec lequel je me bagarre depuis plus d'une journée.

$t = $Groupselection.count
$i = 0
do
{
$obj = [ADSI] $Groupselection[$i].path
echo \"les groupes :\" $obj >> c:\0312.txt
#initialise la valeur de l'objet utilisateur
$utilisateur = \"CN=bob dylan,ou=service_compta,DC=test,DC=lan\"
#intégration de l'utilisateur dans un ou des groupes
$objgrp.member += $utilisateur
#prise en compte de la modification de l'objet groupe dans l'AD
$objgrp.psbase.commitchanges()
$i++
}until($i -ge $t)


merci d'avance pour l'aide avancer

olivia

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

Plus d'informations
il y a 15 ans 3 mois #8187 par Jacques Barathon
Deux choses :

1. Il faut que l'utilisateur soit lui aussi un objet ADSI, pas simplement une chaîne de caractères représentant son DN.

2. Pour ajouter l'utilisateur, tu peux simplement utiliser la méthode Add() du groupe, sans faire un CommitChanges().

[code:1]
foreach ($Group in $GroupSelection)
{
$ADSIGroup = [ADSI]$Group.path
echo $ADSIGroup >> c:312.txt

# initialise la valeur de l'objet utilisateur
$ADSIUser = [ADSI]\"LDAP://CN=bob dylan, ou=service_compta, DC=test, DC=lan\"

# intégration de l'utilisateur dans un ou des groupes
$ADSIGroup.Add($ADSIUser)
}
[/code:1]

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

Plus d'informations
il y a 15 ans 3 mois #8189 par olivia
Réponse de olivia sur le sujet Re:récupération des groupes
Merci Janel,

mais j'ai encore un message d'erreur:

Exception lors de l'appel de « Add » avec « 1 » argument(s) : « Le type ne correspond pas. (Exception de HRESULT : 0x80020005 (DISP_E_T
YPEMISMATCH)) »
Au niveau de C:\Documents and Settings\Administrateur\Bureau\dossier de ma machine 2003\test0312.ps1 : 67 Caractère : 17
+ $ADSIGroup.Add <<<< ($ADSIUser)
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : CatchFromBaseAdapterMethodInvokeTI


olivia

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

Plus d'informations
il y a 15 ans 3 mois #8190 par Jacques Barathon
Fichtre... Il faudra que j'essaie ce week-end sur mon AD LDS de test.

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

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