Tester si un utilisateur appartient à un groupe en Powershell
Le
dav8669
Bonjour,
J'ai plusieurs groupes et je voudrais tester pour chaque groupe que l'utilisateur appartient au groupe.
Merci
J'ai plusieurs groupes et je voudrais tester pour chaque groupe que l'utilisateur appartient au groupe.
Merci

Poser une question

| Bonjour,
Bonjour,
| J'ai plusieurs groupes et je voudrais tester pour chaque groupe que
| l'utilisateur appartient au groupe.
Le script ci-dessous (Powershell V2 CTP) recherche l'ensemble des
groupes du domaine puis affiche sous forme de tableau formaté (Group,
Member) l'appartenance ou non de l'utilisateur "$user" aux groupes.
$view = `
@{Label="Group";`
Expression={$_.properties.name}}, `
@{Label="Member";`
Expression={$_.properties.member -contains $user.distinguishedname}}
$user=[ADSI]"LDAP://cn=user,ou=test,dc=domain,dc=local"
$searcher=[adsisearcher]"(objectclass=group)"
$searcher.searchroot="LDAP://dc=domain,dc=local"
$searcher.findall() | Format-Table $view -a
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Bonjour,
Merci pour ta solution avec la vue mais elle est pas adaptée à mes besoins.
En effet, en fonction si l'utilisateur appartient à un groupe ou non, je fais un traitement.
Donc comment récupérer la valeur souhaitée dans la vue?
De plus je connais les groupes que je veux tester pour l'utilisateur donc il y a peut être pas besoin de parcourir tout le domaine?
Merci
| Bonjour,
Bonjour,
| Merci pour ta solution avec la vue mais elle est pas adaptée à mes
| besoins. En effet, en fonction si l'utilisateur appartient à un
| groupe ou non, je fais un traitement.
| Donc comment récupérer la valeur souhaitée dans la vue?
| De plus je connais les groupes que je veux tester pour l'utilisateur
| donc il y a peut être pas besoin de parcourir tout le domaine?
$user=[adsi]"LDAP://cn=user,ou=test,dc=domain,dc=local" # bind
$group=[adsi]"LDAP://cn=group,ou=test,dc=domain,dc=local" #bind
$ismember=$group.member -contains $user.distinguishedname
if ($ismember) {
"traitement"
}
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr
Bonjour
$user=[ADSI]"LDAP://1*/cn=*ou=*,dc=*,dc=*"
$user
$user.memberof | ForEach-Object {
$ismember =$group.member -contains $user.distinguishedname
$ismember
Mon problème consiste à afficher pour chaque objet, le nom du groupe.
Merci
Bonjour,
Le nom des groupes (et non le dn) dont l'utilisateur est membre ?
$user=[adsi]"LDAP://cn=user,ou=test,dc=domain,dc=local"
$user.memberof | % {
$_.split('=,')[1]
}
--
Gilles LAURENT
MVP Windows Server - Admin Frameworks
http://glsft.free.fr