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 :
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 :
1 2 3 4 5
|
foreach($group in $user.groups)
{
Get-ADGroup -identity group.cn
} |
j'obtiens
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 :
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
1 2
|
Get-ADGroup -identity [ADSi]$group.cn |
Mais pas de chance, cette fois il me retourne
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
Partager