Question
Savoir si un membre appartient a un groupe !
- madmax
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 12 ans 8 mois #15332
par madmax
Savoir si un membre appartient a un groupe ! a été créé par madmax
Bonjour à tous,
Je suis un petit nouveaux sous powershell. J'aurais besoin de vos services.
Bon mon problème se situe dans une condition SI \"IF\" je voudrais faire :
[code:1]Si
l'utilisateur n'appartient pas au groupe \"toto\"
alors
\"Traitement\"[/code:1]
J'ai essayé de diverse manière j'avais cru y arriver avec la commande [code:1](Get-ADGroupMember \"toto\"«»).name)[/code:1] qui m'affiche bien le membre sauf que quand il y a plusieurs membres dans \"toto\" la commande ce passe bien, mais l'affichage est vide.
Merci de votre aide.
Je suis un petit nouveaux sous powershell. J'aurais besoin de vos services.
Bon mon problème se situe dans une condition SI \"IF\" je voudrais faire :
[code:1]Si
l'utilisateur n'appartient pas au groupe \"toto\"
alors
\"Traitement\"[/code:1]
J'ai essayé de diverse manière j'avais cru y arriver avec la commande [code:1](Get-ADGroupMember \"toto\"«»).name)[/code:1] qui m'affiche bien le membre sauf que quand il y a plusieurs membres dans \"toto\" la commande ce passe bien, mais l'affichage est vide.
Merci de votre aide.
Connexion ou Créer un compte pour participer à la conversation.
- ANTRI Mohamed
- Hors Ligne
- Membre premium
-
Réduire
Plus d'informations
- Messages : 124
- Remerciements reçus 0
il y a 12 ans 8 mois #15336
par ANTRI Mohamed
Réponse de ANTRI Mohamed sur le sujet Re:Savoir si un membre appartient a un groupe !
Voici un exemple :
[code:1]
$users = @(\"Nicolas\",\"François\"«»)
foreach( $item in $users)
{
if((get-aduser $item -properties *).Memberof -like \"*toto*\"«»)
{
write-host $item
}
}
[/code:1]
quelque explication :
J'ai rapidement créer un tableau avec deux utilisateurs.
Ensuite je parcours le tableau à l'aide d'une boucle foreach.
Pour chaque utilisateur je prend sa propriétés memberof qui va prendre tous les groupes auxquels appartient notre utilisateur. L’inconvénient de Memberof est qu'il retourne le DistinguishedName de l'objet c'est à dire [code:1]CN=...,DC=...[/code:1] voilà pourquoi j'utilise le comparateur [code:1]-like[/code:1].
Enfin si la condition est vérifier j'affiche le nom de l'utilisateur. mais vous pourrez mettre votre traitement. Il y a surement plus simple mais c'est la première idée qui met venue à l'esprit.
[code:1]
$users = @(\"Nicolas\",\"François\"«»)
foreach( $item in $users)
{
if((get-aduser $item -properties *).Memberof -like \"*toto*\"«»)
{
write-host $item
}
}
[/code:1]
quelque explication :
J'ai rapidement créer un tableau avec deux utilisateurs.
Ensuite je parcours le tableau à l'aide d'une boucle foreach.
Pour chaque utilisateur je prend sa propriétés memberof qui va prendre tous les groupes auxquels appartient notre utilisateur. L’inconvénient de Memberof est qu'il retourne le DistinguishedName de l'objet c'est à dire [code:1]CN=...,DC=...[/code:1] voilà pourquoi j'utilise le comparateur [code:1]-like[/code:1].
Enfin si la condition est vérifier j'affiche le nom de l'utilisateur. mais vous pourrez mettre votre traitement. Il y a surement plus simple mais c'est la première idée qui met venue à l'esprit.
Connexion ou Créer un compte pour participer à la conversation.
- madmax
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 12 ans 8 mois #15342
par madmax
Réponse de madmax sur le sujet Re:Savoir si un membre appartient a un groupe !
Et bien merci, je ne peux tester cela de suite, car c'est sur mon PC au bureau. Mais je testerais cela demain matin.
Il y a tout de même un truque que je ne comprends pas.
le [code:1]-like \"*toto*\"[/code:1]m'affiche que le groupe AD du même nom toto est-ce bien cela ? Ou vers autre chose ?
Il y a tout de même un truque que je ne comprends pas.
le [code:1]-like \"*toto*\"[/code:1]m'affiche que le groupe AD du même nom toto est-ce bien cela ? Ou vers autre chose ?
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 12 ans 8 mois #15343
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Savoir si un membre appartient a un groupe !
Salut,
madmax écrit:
As-tu un jeux de tests qui valide ton code ?
[edit]
Au sein d'un fonction j'utilise ceci :
[code:1]
return ($Group.Member.IndexOf($UserDN) -ne -1)
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 10/07/13 21:16
madmax écrit:
Sur le même point, mais sur un autre aspect, j'ai un doute sur l'usage du -like dans ce contexte.Il y a tout de même un truque que je ne comprends pas.
As-tu un jeux de tests qui valide ton code ?
[edit]
Au sein d'un fonction j'utilise ceci :
[code:1]
return ($Group.Member.IndexOf($UserDN) -ne -1)
[/code:1]<br><br>Message édité par: Laurent Dardenne, à: 10/07/13 21:16
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- madmax
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 3
- Remerciements reçus 0
il y a 12 ans 8 mois #15345
par madmax
Réponse de madmax sur le sujet Re:Savoir si un membre appartient a un groupe !
Bonjour,
après des tests ce matin malheureusement ça ne marche pas.
voilà mon jeux de test
[code:1]Import-module ActiveDirectory
$util=Import-Csv -path \"C:\Projet_Automatisation\utilisateur.csv\" -delimiter \";\"
foreach ($utilisateur in $util)
{
$name=$utilisateur.name
$group=$utilisateur.Member
if ((get-aduser $name -properties *).Memberof -like $group)
{
Write-Host \"ok\"
}
else
{
Write-Host \"nok\"
#Add-ADGroupMember -Identity $group -Member $name
}
}[/code:1]
J'ai un peu adpater ton code, car je n'est réussit a voir aucun résultat avec ce code si.
[code:1]
$users = @(\"Mad max\",\"Jean poche\"«»)
foreach( $item in $users)
{
if((get-aduser $item -properties *).Memberof -like \"*toto*\"«»)
{
write-host \"Ok\"
}
else
{
write-host \"NOk\"
}
}[/code:1]
Alors que mes deux utilisateurs son bien dans le groupe toto.
après des tests ce matin malheureusement ça ne marche pas.
voilà mon jeux de test
[code:1]Import-module ActiveDirectory
$util=Import-Csv -path \"C:\Projet_Automatisation\utilisateur.csv\" -delimiter \";\"
foreach ($utilisateur in $util)
{
$name=$utilisateur.name
$group=$utilisateur.Member
if ((get-aduser $name -properties *).Memberof -like $group)
{
Write-Host \"ok\"
}
else
{
Write-Host \"nok\"
#Add-ADGroupMember -Identity $group -Member $name
}
}[/code:1]
J'ai un peu adpater ton code, car je n'est réussit a voir aucun résultat avec ce code si.
[code:1]
$users = @(\"Mad max\",\"Jean poche\"«»)
foreach( $item in $users)
{
if((get-aduser $item -properties *).Memberof -like \"*toto*\"«»)
{
write-host \"Ok\"
}
else
{
write-host \"NOk\"
}
}[/code:1]
Alors que mes deux utilisateurs son bien dans le groupe toto.
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.047 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Savoir si un membre appartient a un groupe !