Categorias

Listar Grupos de um Usuário no Active Directory

Com esse código é possível ter acesso à lista de grupos de um determinado usuário 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 dos grupos.

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

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

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

'-----------------------------------------------------
'Exemplo de chamada da função
'-----------------------------------------------------
Dim Usuario    'Login do usuário na rede
Dim objResultado
Set objResultado = Server.CreateObject("Scripting.Dictionary")
Usuario = "login_rede" '<----- EDITE O LOGIN AQUI
Set objResultado = getGruposADS(Usuario)
For i = 1 To objResultado.Count
    Response.Write objResultado.Item(i) & "
" Next Set objResultado = Nothing %>