Quest ActiveRoles Management Shell – Módulo do Active Directory para Powershell

Olá, pessoal!

Há alguns anos, quando o PowerShell ainda estava em sua versão 2, ele não era tão robusto como é hoje. A gama de cmdlets não era tão imensa como hoje e não tínhamos tanta referência na internet como temos agora. Eu sempre gostei muito de scripts e sempre achei atrativo o PowerShell, mas me limitava a utilizá-lo nas versões do Exchange Server 2007/2010 onde algumas opções você era obrigado a utilizá-lo, como passei meses trabalhando apenas com o Exchange Server em diversas migrações peguei apreço pelo PowerShell e comecei a utilizá-lo para outras rotinas e uma delas foi o gerenciamento do Active Directory. Entretanto, o módulo do Active Directory para PowerShell disponibilizado pela Microsoft não me dava tantas opções como eu tinha no PowerShell do Exchange Server, foi quando eu encontrei o Quest ActiveRoles Management Shell.

Hoje ele é uma suite de gerenciamento e automação de tarefas no Active Directory e outras ferramentas, mas a Quest disponibilizava um shell que carregava seu próprio módulo do powershell para AD. Era um módulo customizado por eles, com cmdlets próprios e possibilidade de criação de scripts mais avançados. Infelizmente, em meados de 2014 a Quest retirou o acesso gratuito as novas versões e ficamos estagnados na versão 1.5.1. Mesmo assim, essa versão ainda é uma das minhas ferramentas favoritas e a primeira a ser instalada no Windows quando formato.

Apesar de descontinuado a versão free, o pessoal do PowerShell Admin fez um enorme favor de disponibilizar os links para baixar a última versão free aqui.

Após instalar você já pode sair utilizando como leitura se você estiver em um domínio, ou seja, pode fazer consultas. Importante ressaltar que como qualquer usuário no Active Directory tem permissões de leitura por padrão é muito importante se atentar onde irá instalá-lo para não colocar informações sigilosas em risco.

ActiveRoles Management Shell após abrir pela primeira vez

Eu também encontrei ainda disponível o manual de referência de cada cmdlet. Você pode baixar aqui.

Eu tenho diversos scripts que fui criando ao longo do tempo utilizando a ferramenta que pretendo postar no blog ao longo do tempo, mas o que eu mais utilizo é para gerar uma listagem completa de todos os usuários do Active Directory com atributos específicos. Isso é muito utilizado em auditorias internas e externas que passo na empresa, então acredito que possa ser útil para outras pessoas.

get-qaduser -SizeLimit 0 | select FirstName,LastName,Name,DisplayName,Description,Office,PhoneNumber,Email,LogonName,LogonScript,HomeDirectory,department,CanonicalName,AccountisDisabled,AccountExpires | Export-Csv -Encoding unicode C:\usuarios.csv

Com esse comando você vai trazer todos os usuários, efetuar o select de cada atributo que precisa e exportar para o formato CSV para manipular da melhor forma com o Excel.

Se houve alguma dúvida sobre qual o nome de um atributo específico você pode utilizar o seguinte comando:

get-qaduser -id "Login do usuário" | fl

Com esse comando você vai listar todos os atributos de um usuário específico e terá o nome de qualquer atributo passível de executar um select.

Espero que possa Quest ActiveRoles Management Shell possa ajudar mais pessoas como vem me ajudando ao longo do tempo!

Até breve!