Question
Gestion AD avec Get-AdGroupMember
- PATRIN
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 1
- Remerciements reçus 0
il y a 11 mois 6 jours #32760
par PATRIN
Gestion AD avec Get-AdGroupMember a été créé 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 ?
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: (

+ FullyQualifiedErrorId : PSObjectCompareTo
Est-ce qu'un pourrait m'aiguiller s'il-vous-plaît ?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6290
- Remerciements reçus 67
il y a 11 mois 4 jours #32764
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Gestion AD avec Get-AdGroupMember
Salut,
essaie ceci :Esnuite pour
"Cannot compare "@{Count=1}" to "1" ..."
Tu compares un entier avec une string ( issue d'un PSObject):
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 ...
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
"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.
- ericlm128
- Hors Ligne
- Membre elite
-
Réduire
Plus d'informations
- Messages : 169
- Remerciements reçus 35
il y a 11 mois 4 jours - il y a 11 mois 4 jours #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 11 mois 4 jours par ericlm128.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.046 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Gestion AD avec Get-AdGroupMember