Bonjour,

Je tente de créer des utilisateurs et de leur ajouter des groupes via un script powershell depuis un fichier xml.

Le fichier xml contient (entre autre) le samaccountname et le nom des groupes.

Le New-ADUser ne me pose aucun problème, en voici un extrait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
New-ADUser -samaccountname $user.samaccountname -Name $user.NOMPrenom -Path $OUUtilisateurs -givenName $user.prenom -userPrincipalName $user.mail -OtherAttributes $otherAttributes
Je bloque sur l'affectation des groupes.

Le fichier xml contient 2 lignes (puisque 2 groupes à affecter). Lorsque je parcoure les deux lignes avec le code ci-dessous :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    foreach($group in $user.groups)
    {
        Get-ADGroup -identity group.cn
    }
j'obtiens
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Get-ADGroup : Impossible de convertir «System.Object[]» en type «Microsoft.ActiveDirectory.Management.ADGroup», requis par le 
paramètre «Identity». La méthode spécifiée n'est pas prise en charge.
Au caractère C:\bat\PS1\importv2.ps1:19 : 31
+         Get-ADGroup -identity $group.cn
+                               ~~~~~~~~~
    + CategoryInfo          : InvalidArgument : (:) [Get-ADGroup], ParameterBindingException
    + FullyQualifiedErrorId : CannotConvertArgument,Microsoft.ActiveDirectory.Management.Commands.GetADGroup
Par contre, si j'exécute :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    foreach($group in $user.groups)
    {
        Get-ADGroup -identity "uf1010"
    }
J'obtiens bien ce que je veux.

Alors j'ai bien sur vérifier avec un echo la valeur $group.cn, il me retourne bien ma chaine de caractères.

J'ai quand même tenté de faire un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Get-ADGroup -identity [ADSi]$group.cn
Mais pas de chance, cette fois il me retourne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Get-ADGroup : Impossible de trouver un objet avec l’identité «*[ADSi]System.Xml.XmlElement.cn*» sous*: «*DC=xxx,DC=yyy*».
Au caractère C:\bat\PS1\importv2.ps1:19 : 9
+         Get-ADGroup -identity [ADSi]$group.cn
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: ([ADSi]System.Xml.XmlElement.cn:ADGroup) [Get-ADGroup], ADIdentityNotFoundException
    + FullyQualifiedErrorId : ActiveDirectoryCmdlet:Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,Microsoft.Active 
   Directory.Management.Commands.GetADGroup
Bref, je bloque sur cette conversion de type ou la récupération de la valeur au format chaine... j'avoue ne pas trop savoir quel chemin prendre pour résoudre le problème.

Merci