Categorias

Listar Usuários de um grupo no Active Directory

Com esse código é possível ter acesso à lista de usuários de um determinado grupo no Active Directory da rede. (O computador que roda o código precisa ter permissões de leitura no Active Directory)

A função retorna uma Collection (Scripting.Dictionary) para a manipulação do retorno.

Para configurar o grupo basta alterar a variável Grupo no exemplo de chamada da função.

Essa função é compatível com Windows NT, XP, 2000.

<%
'-----------------------------------------------------
'Nome: getUsuariosADS(strGrupo)
'Tipo: Funcao
'Sinopse: Retornar a lista de usuário de um grupo no Active Directory
'Parametros:
'   strGrupo: Grupo na rede
'Retorno: Collection (Scripting.Dictionary)
'Autor: Gabriel Fróes - www.codigofonte.com.br
'-----------------------------------------------------
Function getUsuariosADS(strGrupo)
    'Declarações
    Dim objSysInfo
    Dim objUsuarios
    Dim objUsuario
    Dim objColl
        
    'Criação dos objetos
    Set objSysInfo    = Server.CreateObject("ADSystemInfo")
    Set objColl        = Server.CreateObject("Scripting.Dictionary")
    Set objUsuarios    = GetObject("WinNT://" & objSysInfo.DomainDNSName & "/" & strGrupo)
        
    For Each objUsuario In objUsuarios.Members
        'Adicionar o grupo na collection
        objColl.Add objColl.Count+1, objUsuario.Name
    Next
        
    'Retornando a função
    Set getUsuariosADS = objColl
        
    'Destruindo os objetos
    Set objUsuarios    = Nothing
    Set objSysInfo    = Nothing
End Function

'-----------------------------------------------------
'Exemplo de chamada da função
'-----------------------------------------------------
Dim Grupo    'Grupo da rede
Dim objResultado
Set objResultado = Server.CreateObject("Scripting.Dictionary")
Grupo = "Administradores" '<----- EDITE O GRUPO AQUI
Set objResultado = getUsuariosADS(Grupo)
For i = 1 To objResultado.Count
    Response.Write objResultado.Item(i) & "
" Next Set objResultado = Nothing %>