¿Cómo puedo obtener una lista completa de grupos en mi Active Directory?ASP.NET Cómo obtener la lista de grupos en Active Directory
19
A
Respuesta
33
Comprueba cabo System.DirectoryServices (una referencia ASP.NET 2.0):
C# -Ejemplo llegar grupos:
using System.DirectoryServices;
public class test
{
private void main()
{
foreach (string @group in GetGroups())
{
Debug.Print(@group);
}
}
public List<string> GetGroups()
{
DirectoryEntry objADAM = default(DirectoryEntry);
// Binding object.
DirectoryEntry objGroupEntry = default(DirectoryEntry);
// Group Results.
DirectorySearcher objSearchADAM = default(DirectorySearcher);
// Search object.
SearchResultCollection objSearchResults = default(SearchResultCollection);
// Results collection.
string strPath = null;
// Binding path.
List<string> result = new List<string>();
// Construct the binding string.
strPath = "LDAP://stefanserver.stefannet.local";
//Change to your ADserver
// Get the AD LDS object.
try
{
objADAM = new DirectoryEntry(strPath);
objADAM.RefreshCache();
}
catch (Exception e)
{
throw e;
}
// Get search object, specify filter and scope,
// perform search.
try
{
objSearchADAM = new DirectorySearcher(objADAM);
objSearchADAM.Filter = "(&(objectClass=group))";
objSearchADAM.SearchScope = SearchScope.Subtree;
objSearchResults = objSearchADAM.FindAll();
}
catch (Exception e)
{
throw e;
}
// Enumerate groups
try
{
if (objSearchResults.Count != 0)
{
foreach (SearchResult objResult in objSearchResults)
{
objGroupEntry = objResult.GetDirectoryEntry();
result.Add(objGroupEntry.Name);
}
}
else
{
throw new Exception("No groups found");
}
}
catch (Exception e)
{
throw new Exception(e.Message);
}
return result;
}
}
VB-ejemplo grupos para obtener:
Imports System.DirectoryServices
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
For Each group As String In GetGroups()
Debug.Print(group)
Next
End Sub
Public Function GetGroups() As List(Of String)
Dim objADAM As DirectoryEntry ' Binding object.
Dim objGroupEntry As DirectoryEntry ' Group Results.
Dim objSearchADAM As DirectorySearcher ' Search object.
Dim objSearchResults As SearchResultCollection ' Results collection.
Dim strPath As String ' Binding path.
Dim result As New List(Of String)
' Construct the binding string.
strPath = "LDAP://stefanserver.stefannet.local" 'Change to your ADserver
' Get the AD LDS object.
Try
objADAM = New DirectoryEntry(strPath)
objADAM.RefreshCache()
Catch e As Exception
Throw e
End Try
' Get search object, specify filter and scope,
' perform search.
Try
objSearchADAM = New DirectorySearcher(objADAM)
objSearchADAM.Filter = "(&(objectClass=group))"
objSearchADAM.SearchScope = SearchScope.Subtree
objSearchResults = objSearchADAM.FindAll()
Catch e As Exception
Throw e
End Try
' Enumerate groups
Try
If objSearchResults.Count <> 0 Then
Dim objResult As SearchResult
For Each objResult In objSearchResults
objGroupEntry = objResult.GetDirectoryEntry
result.Add(objGroupEntry.Name)
Next objResult
Else
Throw New Exception("No groups found")
End If
Catch e As Exception
Throw New Exception(e.Message)
End Try
Return result
End Function
End Class
1
Microsoft .NET Framework proporciona una biblioteca estándar para trabajar con Active Directory: System.DirectoryServices namespace en System.DirectoryServices.dll.
Microsoft recomienda utilizar dos clases principales del espacio de nombres System.DirectoryServices: DirectoryEntry y DirectorySearcher. En la mayoría de los casos, es suficiente usar la clase DirectorySearcher solamente.
Puede encontrar algunos ejemplos en este CodeProject article.
Cuestiones relacionadas
- 1. Obteniendo grupos de usuarios en Active Directory
- 2. Grupos anidados de Active Directory
- 3. LDAP: ¿Cómo obtener todos los grupos en Active Directory?
- 4. javascript active directory usuario/grupos consulta
- 5. ¿Cómo obtener los grupos de un usuario en Active Directory? (C#, asp.net)
- 6. TSQL: ¿Cómo obtener una lista de grupos que pertenece a un usuario en Active Directory
- 7. Listar todos los grupos de Active Directory
- 8. Obtener una lista de grupos de miembros (memberOf) en Active Directory
- 9. Active Directory Lista de OU
- 10. Membresías de grupos de usuarios de Active Directory GroupPrincipal
- 11. ¿Cuál es la relación, si existe, entre grupos de Active Directory y grupos en Exchange?
- 12. lograr que los grupos de Active Directory mediante C#
- 13. Asp.Net Autenticación basada en roles usando grupos de seguridad en Active Directory
- 14. Permisos de usuario/grupo en Active Directory
- 15. Acceso a Active Directory desde ASP.Net MVC utilizando C#
- 16. C# Active Directory: ¿Obtener el nombre de dominio del usuario?
- 17. Cómo obtener la lista de todos los dominios en Active Directory usando C#
- 18. Almacenar datos de aplicaciones en Active Directory
- 19. Autenticación de Active Directory
- 20. Cómo obtener la lista de usuarios de Active Directory por atributos como Departamento
- 21. obtener la lista de usuarios de Active Directory en un grupo de anuncios determinado
- 22. Public Active directory for testing
- 23. Forma rápida de obtener una lista de miembros del grupo en Active Directory con C#
- 24. Encontrar CN de usuarios en Active Directory
- 25. Windows Active Directory Emulator
- 26. Gerrit y Active Directory
- 27. Cómo recuperar SAMAccountName de Active Directory
- 28. ¿Cómo puedo obtener una lista de unidades organizativas de Active Directory?
- 29. Active Directory vs OpenLDAP
- 30. Cómo conectarme con Java en Active Directory
gran cosas, funcionó como un encanto para mí! –
Gracias Stefan por la gran publicación ... intenté usar el código vb en mi aplicación web pero parece que no funciona ... ¿podría arrojar algo de luz? mcuh apreciado ............ –
@mo, ¿cambió la ruta/URL para que coincida con * su * servidor AD? No es un servidor AD real en mi ejemplo. – Stefan