Les Snippets

Connexion

ActiveDirectory - Obtenir le(s) groupe(s) auquel(s) un utilisateur appartient

Niveau requis pour utiliser/comprendre cette source : 1 ( Débutant )
Créé le 27/09/2007 22:08:05 et initié par Willi [Liste]
Date de mise à jour : 27/09/2007 22:11:07
Vue : 10138
Catégorie(s) : Réseau & Internet, Sécurité
Langages dispo pour ce code :
- VB 2005
- C# 2.x



Langage : VB 2005
Date ajout : 27/09/2007
Posté par Willi [Liste]
DateMAJ : 27/09/2007
Public Shared Function GetUserMemberOf(ByVal domain As String, ByVal username As String, ByVal password As String, Optional ByRef exeption As Exception = Nothing) As Collections.Generic.List(Of String) 
Dim searcher As DirectorySearcher = Nothing
Dim colEntry As New Collections.Generic.List(Of String) 
Try

'Objet de notre utilisateur de la hiérarchie Active Directory.
searcher = New DirectorySearcher(New DirectoryEntry("LDAP://" & domain, username, password)) 
'On va chercher ici un objet de type user et dont le nom d'ouverture de session = <username>.
searcher.Filter = String.Concat("(&(objectClass=User) (sAMAccountName=", username, "))") 
'Ne récupère que la propriété MemberOf.
searcher.PropertiesToLoad.Add("MemberOf") 
'Recherche et retourne la première entrée trouvée.
Dim result As SearchResult = searcher.FindOne 
'Parcours le contenu de la propriété MemberOf de notre entrée trouvée.
For i As Integer = 0 To result.Properties("MemberOf").Count - 1 
'Récupère la chaine LDAP.
Dim sProp As String = result.Properties("MemberOf")(i) 
'Extrait le nom du groupe de la chaine.
colEntry.Add(sProp.Substring(3, sProp.IndexOf(",") - 3)) 
Next
Catch ex As Exception 
exeption = ex

Finally

'Libère les ressources.

searcher.Dispose()

End Try
Return colEntry 
End Function

Remarque :
Ajouter la directive Imports System.DirectoryServices

Exemple d'utilisation:
Dim lMemberOf as List(Of String) = GetUserMemberOf("MonDomaine.fr","Toto","MdpDeToto")
Langage : C# 2.x
Date ajout : 02/10/2007
Posté par Willi [Liste]
public static List<String> GetUserMemberOf(string domain, string username, string password) 
{
DirectorySearcher searcher = null; 
List<string> lMembers = new List<string>();
try


{
searcher = new DirectorySearcher(new DirectoryEntry(string.Concat(@"LDAP://", domain), username, password)); 
searcher.Filter = string.Concat(@"(&(objectClass=User) (sAMAccountName=", username, "))");searcher.PropertiesToLoad.Add(
@"MemberOf"); 
SearchResult result = searcher.FindOne();
for (int i = 0; i < result.Properties[@"MemberOf"].Count; i++) 
{
string szProp = result.Properties[@"MemberOf"][i].ToString();lMembers.Add(szProp.Substring(3, szProp.IndexOf(@",") - 3)); 
}

}
catch (Exception) 
{
throw; 
}

finally

{

searcher.Dispose();

}

return lMembers;

Remarque :
Ajoutez la directive using System.DirectoryServices

Snippets en rapport avec : Directory, Ad, Active, Membre, Memberof



Codes sources en rapport avec : Directory, Ad, Active, Membre, Memberof

{PHP} AUTHENTIFICATION LDAP | AD 2003SERVEUR
Je pense que je ne suis pas le premier à me prendre la tête sur l'authenfication Ldap Après avoir...

{ASP / ASP.NET} RÉCUPÉRATION DES GROUPES AD D'UN USER EN ASPNET
Tout est dans le titre ;-)...

{Visual Basic, VB6, VB.NET, VB 2005} SIGNATURE STANDARDISÉE DANS OUTLOOK VIA PARAMÈTRES ACTIVE DIRECTORY DE L'UTILISATEUR
Ecriture d'une signature pour Outlook (2002 et 2003 testés) afin que tous les utilisateur d'une même...

{Visual Basic, VB6, VB.NET, VB 2005} [ACTIVE DIRECTORY] AJOUT UTILISATEURS VIA EXCEL.VBS
Comme sont nom l'indique, ce script permet d'ajouter autant d'utilisateur dans active directory qu'i...

{Visual Basic, VB6, VB.NET, VB 2005} EXPLORER LDAP ACTIVE DIRECTORY DANS UN TREEVIEW
Cette interface utilise l'objet treeview pour explorer Active Directory, elle inclus également une o...

{PHP} CONNEXION LDAP AVEC LOGIN MOT DE PASSE EN PHP
ce code permet de verifier l'identité d'une personne se connectant a un annuaire LDAP ( dans mon cas...

{C# / C#.NET} ACTIVE DIRECTORY : AJOUT D'UN UTILISATEUR, PASSWORD, ACTIVATION ET AJOUT DANS UN GROUPE
Le titre se suffit certainement à lui même mais bon. Devant refaire le systéme d'inscription du Cl...

{C# / C#.NET} BOITE DE DIALOGUE D'OBJET - DIRECTORY OBJECT PICKER
Cette source est une adaptation de cet exemple http://msdn.microsoft.com/en-us/library/ms675899(VS....

{Delphi} UN SELECTDIRECTORY QUI SE PLACE AU BON ENDROIT
La fonction SelectDirectory est très pratique pour permettre à l'utilisateur de sélectionner un répe...

{Delphi} FBRENOMMEADOBJET
bonjour Je vous propose un Programme qui permet de renommer par lot des objets dans l'AD en fonc...