Por diversas vezes, principalmente em ambientes corporativos, recebemos solicitações para auditoria de acessos. Como o Active Directory é uma das principais ferramentas utilizadas para gestão de identidades, as vezes se torna um desafio dar respostas a pedidos urgentes para entendimento sobre gestão de acessos (devidos ou indevidos).
Este script permite você consultar através de uma lista de usuários, cada grupo que cada usuário é membro e quando este usuário ingressou no grupo.
IMPORTANTE: Se você for membro de grupos muito grandes (acima de 5.000 membros), o Powershell pode experienciar um comportamento de alto consumo de memória, então fique ligado!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# Importar módulo do AD Import-Module ActiveDirectory # Declara Usuáro $SamAccountName = Get-Content C:\Users.txt $DC = $Env:LOGONSERVER.Trim("\\") $UserGroupMembership = @() # Inicia loop de pesquisa Foreach($user in $SamAccountName){ # Armazena em variável propriedades do usuário $userObj = Get-ADUser $user # Realizar consulta e Exibir Resultado $search = Get-ADUser $user -Properties memberOf | Select-Object -ExpandProperty memberOf | ForEach-Object { Get-ADReplicationAttributeMetadata $_ -Server $DC -ShowAllLinkedValues -Filter {AttributeName -eq 'member' -and AttributeValue -eq $userObj.DistinguishedName} | Select-Object FirstOriginatingCreateTime, Object, AttributeValue } $UserGroupMembership += $search Clear-Variable search -ErrorAction SilentlyContinue} # Exibe resultados $UserGroupMembership | Sort-Object FirstOriginatingCreateTime -Descending | Out-GridView # Exportar em CSV (Retire o comentário da próxima linha para habilitar a exportação) #$UserGroupMembership | Export-Csv C:\UsersGroupsMembershipHistory.csv -Encoding Default -NoTypeInformation |
Instruções:
- Crie o arquivo Users.txt na partição C:\;
- Coloque a lista de logins dos usuários a serem consultados no arquivo, um login por linha;
- Utilize o script acima para visualizar a associação dos grupos.
- Caso necessite exportar o resultado da consulta, retire o comentário da última linha do código.
Espero que gostem! Não se esqueça de me seguir nas redes sociais e fiquem à vontade para iniciar conexões no LinkedIN.
Até a próxima!