Question Gestion AD avec Get-AdGroupMember

Plus d'informations
il y a 1 an 5 mois #32760 par PATRIN
Bonjour, 

Je commence le powershell et je souhaitais effectuer une tâche qui semblait simple mais qui est un casse-tête depuis quelques semaines. 
En gros, je voudrais connaître les membres de plusieurs groupes AD et renvoyer un message en fonction de si un membre est bien présent ou si aucun membre n'est présent. 

J'ai donc eu l'idée de faire ce pseudo script : 

-> chercher le nombre de membre de mes groupes "reponse_*_toto"
-> compter ce résultat
-> si 0 alors faire en sorte que la variable soit égale à la variable $Null
     -> si la variable a $Null alors on indique à l'utilisateur que le groupe en question n'a pas de membre
-> si >0 alors on fait un get-adgroupmember 

Pour le début du script j'ai essayé de ne chercher que pour un groupe : 

$Variable = ( Get-ADGroupMember -Identity reponse_GROUPE1_toto ) | Measure-Object | Select Count


If ($Variable -lt 1) {
    Write-host "Le groupe n'a pas de membre"
    }
Else {
    Get-ADGroupMember -Identity reponse_GROUPE1_toto | Select Name
    }

Mais juste avec ce petit test j'ai l'erreur : 

Cannot compare "@{Count=1}" to "1" because the objects are not the same type or the object "@{Count=1}" does not implement "IComparable".
At line:24 char:5
+ If ($Variable -lt 1) {
+     ~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], ExtendedTypeSystemException
    + FullyQualifiedErrorId : PSObjectCompareTo


Est-ce qu'un pourrait m'aiguiller s'il-vous-plaît ? 

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

Plus d'informations
il y a 1 an 5 mois #32764 par Laurent Dardenne
Salut,
essaie ceci :
 # @( code )  :force la création d'un tableau si zéro ou un seul elément retourné
$Variable = @( Get-ADGroupMember -Identity reponse_GROUPE1_toto ).Count
Esnuite pour
"Cannot compare "@{Count=1}" to "1" ..."
Tu compares un entier avec une string ( issue d'un PSObject):
 #crée une PSObject
$o=1|select-object Name
 #compare une entier un  PSObject
$o -ge 1
#Impossible de comparer «@{Name=}» avec «1», car les objets ne sont pas du même type ou l'objet «@{Name=}» n'implémente
pas «IComparable».

Dans ce cas je pense que ceci est inutile :
> si 0 alors faire en sorte que la variable soit égale à la variable $Null
Si Count est un entier autant le laisser à Zéro et traiter un chiffre de bout en bout :.
$null -eq 0 -> $false
0 -gt $null -> $true ...

Tutoriels PowerShell

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

Plus d'informations
il y a 1 an 5 mois - il y a 1 an 5 mois #32765 par ericlm128
Réponse de ericlm128 sur le sujet Gestion AD avec Get-AdGroupMember
J'aurai fait comme cela
$adgm = @(Get-ADGroupMember -Identity reponse_GROUPE1_toto)

if ($adgm.Count -eq 0)
{
    Write-host "Le groupe n'a pas de membre"
}
Else
{
    $adgm | Select Name
}
Dernière édition: il y a 1 an 5 mois par ericlm128.

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

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