Question ajout de computer dans un groupe de secu

Plus d'informations
il y a 11 ans 6 mois #17996 par casimir
Bonjour

J'ai besoin d'aide sur un script que j'ai écrit (mega débutant)

[code:1]
Import-module ActiveDirectory
$group = 'mon_groupAD'
$computernamelist = Get-Content c:\Temp\mes_computer.txt

foreach ($compnamelist in $computernamelist)
{$computerlistDN = (Get-ADComputer $compnamelist).distinguishedname

$addmember = Add-ADGroupMember -Identity $group -Member $computerlistDN

if ($addmember -Contains \"Le nom de compte spécifié est déjà membre du groupe\"«»)
{
Write-ouput \"Member\" $compnamelist \"est deja present dans le group\" $group \"\" | out-file C:\Temp\MemberAjoute.txt -append
}
elseif ($addmember -Contains \"Objet de l'annuaire non trouvé\"«»)
{
Write-output \"Member\" $compnamelist \"est pas present dans le domaine\" | out-file C:\Temp\MemberAjoute.txt -append
}
else
{
Write-output \"Ajout du member\" $compnamelist \"dans le groupe\" $group \"\" | out-file C:\Temp\MemberAjoute.txt -append
}
}
[/code:1]

Mon script s’exécute correctement, mais il ne traite pas la deuxième partie a partir du \"if ($addmember -Contains \"Le nom de compte spécifié est déjà membre du groupe\")\"

en gros j'ai pas de log, donc j'ai pas l'impression qu'il comprenne le $addmember -Contains \"Le nom de compte spécifié est déjà membre du groupe\"

Si vous aviez une idée d'amélioration ...

Thanks

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

Plus d'informations
il y a 11 ans 6 mois #18009 par Philippe
salut casimir

A tu lu la doc de Add-ADGroupMember ?

Return Type : None or Microsoft.ActiveDirectory.Management.ADGroup

Returns the modified group object when the PassThru parameter is specified. By default, this cmdlet does not generate any output.

En francais :
Renvoie l'objet groupe modifié lorsque le paramètre PassThru est spécifié. Par défaut, cette applet de commande ne génère aucune sortie.

Le paramètre PassThru :
Returns the new or modified object. By default (i.e. if -PassThru is not specified), this cmdlet does not generate any output

En francais :
Renvoie l'objet nouveau ou modifié. Par défaut (c'est à dire si -PassThru n'est pas spécifié), cette applet de commande ne génère aucune sortie.

Donc renvoie l'objet \"groupe\" quelque soit le résultat de l’opération.
Pour ton problème :

tu dois utilisé une gestion d'erreur du type try/catch.

[code:1]
try {
Add-ADGroupMember -Member $c -Identity \"essai\" -PassThru
}
catch {
# Ici ta gestion de l'erreur de cette erreur instruction
}
[/code:1]

Tu trouvera un tuto ici fait par Laurent Dardenne

sinon t'a le livre dans le menu de gauche, avec un chapitre sur la gestion d'erreur.<br><br>Message édité par: 6ratgus, à: 1/09/14 18:18

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

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