Lister les groupes d'un utilisateur

Signaler
Messages postés
7
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
12 décembre 2008
-
Messages postés
7
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
12 décembre 2008
-
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 11" />
<meta name="Originator" content="Microsoft Word 11" />
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CY1410680%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:595.3pt 841.9pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;
mso-header-margin:35.4pt;
mso-footer-margin:35.4pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tableau Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->
Bonjour,



 




Ca fait quelques temps déjà que je planche sur ca :
comment récupérer tous les groupes Active Directory auxquels appartient un
utilisateur donné.



 




En fait j’ai réussit à le faire mais en VBS. Le tout est de
l’adapter pour qu’il fonctionne en ASP.


Voici le code VBS :






Dim objConnection, objCommand, objRecordSet, sgid_valid, nom, value
value=lcase(CreateObject("WScript.Shell").ExpandEnvironmentStrings ("%USERNAME%") )

Set objConnection = CreateObject("ADODB.Connection")
objConnection.Open "Provider=ADsDSOObject;"
Set objCommand = CreateObject("ADODB.Command")
objCommand.ActiveConnection = objConnection
objCommand.CommandText = "<GC://dc=ZA,dc=IF,dc=ATCSG,dc=NET>;(&(objectCategory=user) (samAccountName=" & value & ")); distinguishedName ;subtree "
Set objRecordSet = objCommand.Execute
Do Until objRecordSet.EOF
    LDAPPAth =objRecordSet.Fields("distinguishedName").value
    objRecordSet.MoveNext
Loop

On Error Resume Next
Set objUser = GetObject("LDAP://"& LDAPPAth &"")
arrMemberOf = objUser.GetEx("memberOf")

For Each Group in arrMemberOf
    Set objGroup = GetObject("LDAP://" & Group)
    objGroup.GetInfo
   
    GroupsarrMembersOf = objGroup.GetEx("memberOf")
   
    For Each strMemberOf in GroupsarrMembersOf
        If strMemberOf <> "" Then
            ArrGroup=Split(Group,",")
            ArrGroupMember=Split(strMemberOf,"," )
            WScript.Echo  Mid(ArrGroup(0),4)
        End If
    Next
Next

 

Est-ce que quelqu’un aurait une idée, même si il faut
laisser tomber ce que j’ai fait en VBS ?

2 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
Salut,

Il faut peut etre utiliser un utilisateur qui a le droit de le faire.
Quel est le comportement de ce script?

Ajoute sur l'utilisateur IIS le droit d'utiliser l'AD.

Peut-etre ce bout de code récuperer sur internet focntionne :

d = Request.ServerVariables("REMOTE_USER")
p = Instr(d, "")
logonUser = Right(d, Len(d) - p)

On Error Resume Next
Dim oContainer

Dim FileSystem

Set
oContainer=GetObject(" LDAP ://ou =Staff,DC=baltimorebehavioralhealth,DC=org")

EnumerateUsers oContainer

Set oContainer = Nothing

Sub EnumerateUsers(oCont)
Dim oUser
For Each oUser In oCont
Select Case LCase(oUser.Class)
Case "user"

If oUser.sAMAccountName= logonUser Then
Messages postés
7
Date d'inscription
mercredi 30 juillet 2008
Statut
Membre
Dernière intervention
12 décembre 2008

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="ProgId" content="Word.Document" />
<meta name="Generator" content="Microsoft Word 11" />
<meta name="Originator" content="Microsoft Word 11" />
<link rel="File-List" href="file:///C:%5CDOCUME%7E1%5CY1410680%5CLOCALS%7E1%5CTemp%5Cmsohtml1%5C01%5Cclip_filelist.xml" />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" LatentStyleCount="156">
</w:LatentStyles>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:12.0pt;
font-family:"Times New Roman";
mso-fareast-font-family:"Times New Roman";}
@page Section1
{size:595.3pt 841.9pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;
mso-header-margin:35.4pt;
mso-footer-margin:35.4pt;
mso-paper-source:0;}
div.Section1
{page:Section1;}
-->
</style>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tableau Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:10.0pt;
font-family:"Times New Roman";
mso-ansi-language:#0400;
mso-fareast-language:#0400;
mso-bidi-language:#0400;}
</style>
<![endif]-->
Bonjour nhervagault,



 




Merci pour ta réponse. J’ai essayé ta proposition mais ca ne
fonctionne pas.


L’utilisateur a bien les droits sur l’AD, cela ne vient pas
de la mais plutôt d’une erreur de syntaxe ASP. Je n’arrive pas à trouver une syntaxe
correcte.