Se você precisa encontrar usuários do Active Directory (AD) em seu domínio, o comando Get-Aduser do Powershell está aqui. Contas de usuário são atribuídas a funcionários, contas de serviço e outros recursos. Antes que você perceba, as contas de usuário do AD estão se tornando difíceis de gerenciar.
Usando o cmdlet Get-AdUser do PowerShell, você pode obter usuários do AD de várias maneiras diferentes. Neste artigo, você vai aprender algumas dessas maneiras e como usar este útil cmdlet.
Gerencie e Relate o Active Directory, Exchange e Microsoft 365 com o ADManager Plus da ManageEngine. Baixe uma versão de avaliação gratuita!
Pré-requisitos
Para usar os exemplos do cmdlet Get-AdUser abordados neste artigo, certifique-se de ter o seguinte:
- Em um PC com Windows integrado a um domínio AD
- Conectado como uma conta de usuário do AD
- Tenha o módulo PowerShell Active Directory instalado
Encontrando uma Conta de Usuário com Identidade
O cmdlet Get-AdUser
tem um único propósito. Ele existe para fornecer o maior número possível de opções para encontrar usuários de domínio. Se você já conhece o nome de usuário a ser procurado, pode usar o parâmetro Identity
.
O parâmetro Identity
permite que você forneça um dos quatro identificadores diferentes.
- distinguishedName (DN)
- samAccountName
- GUID
- SID
Abaixo, você pode ver alguns exemplos de como encontrar uma conta de usuário usando vários identificadores. Observe que ele retorna um conjunto de atributos do AD para cada conta de usuário.
O atributo mais comum a ser usado para o parâmetro
Identity
será o atributosamAccountName
.
O Filtro do Get-ADUser
Se você precisa encontrar mais de um usuário de domínio ou não conhece um identificador, use um filtro. Para fazer isso, você tem alguns parâmetros à disposição chamados Filter
e LDAPFilter
.
Cada parâmetro de filtro permite que o usuário forneça uma declaração condicional. Quando essa condição é atendida, o Get-AdUser
retornará contas de usuário que correspondem a essa condição.
O parâmetro mais comum para filtrar usuários é o Filter
. O parâmetro Filter
permite que você crie condições que são semelhantes à sintaxe de filtro do comando PowerShell Where-Object
.
O parâmetro Filter
utiliza uma linguagem chamada sintaxe da linguagem de expressão do PowerShell. Essa linguagem é um pouco parecida com o que você usaria com Where-Object
, mas não exatamente igual. Para uma análise de como usar esse filtro, confira este artigo sobre filtros Active Directory e LDAP.
Abaixo está um exemplo de uso do parâmetro Filter
. Este exemplo fornece um atributo do AD (givenName
neste exemplo) e define uma condição. O filtro só permite que os usuários sejam retornados se tiverem um givenName
igual a Adam
.
A outra opção de filtragem é LDAPFilter
, que não será abordada neste artigo. Para obter mais informações sobre LDAPFilter
e sua sintaxe, confira este artigo sobre Active Directory e filtros LDAP.
Usando Get-AdUser por OU
Ao fornecer uma identidade ou filtro, o PowerShell retorna todos os usuários no domínio que correspondem aos critérios. Isso não limita por OU. Você precisará configurar um “filtro” para Get-AdUser
para filtrar por OU usando Get-Aduser -SearchBase <OU>
.
O uso do parâmetro SearchBase
permite que você comece a procurar uma conta de usuário em uma OU específica. O parâmetro SearchBase
aceita o nome distintivo (DN) de uma OU.
Por exemplo, você poderia encontrar todos os usuários na OU MyUsers conforme mostrado abaixo. O uso do Filter
de *
significa corresponder a todas as contas de usuário.
Provavelmente você deseja encontrar contas de usuário em uma única Unidade Organizacional (OU) e excluir quaisquer OUs filhas. Nesse caso, você pode usar os parâmetros SearchBase
e SearchScope
. O parâmetro SearchScope
define quão profundo na hierarquia da OU você deseja pesquisar.
Por exemplo, se desejar encontrar todas as contas de usuário em uma OU e todas as OUs filhas, use 1
para o valor de SearchScope
. Se desejar pesquisar através de todas as OUs filhas e netos, use 2
.
Abaixo está um exemplo de pesquisa de contas de usuário na OU MyUsers e todas as OUs filhas abaixo dela.
Usando Credenciais Alternativas
Por padrão, Get-AdUser
será executado no contexto do usuário conectado. Mas você também pode fornecer credenciais alternativas usando o parâmetro Credential
.
Para autenticar com credenciais alternativas, crie um objeto PSCredential usando Get-Credential
como abaixo:
Para obter mais informações sobre credenciais, confira Usando o cmdlet PowerShell Get-Credential e tudo sobre credenciais.
O Parâmetro de Propriedades do Get-AdUser do PowerShell
Ao executar Get-AdUser
, você verá imediatamente que apenas algumas atribuições são retornadas. Você também verá que mesmo quando a saída é redirecionada para Select-Object -Property *
, nem todas as atribuições são retornadas.
Para usar o PowerShell para obter atributos de usuário do AD, use o parâmetro Property
. Este parâmetro aceita um ou mais atributos delimitados por vírgulas para mostrar na saída.
Abaixo você verá um exemplo de uso do Get-AdUser
para encontrar todas as propriedades de todas as contas de usuário com um givenName
de Adam
. A saída está truncada, mas você verá outros atributos familiares como endereço de e-mail, propriedades de senha e mais aqui.
Gerencie e Relate o Active Directory, Exchange e o Microsoft 365 com o ManageEngine ADManager Plus. Baixe o teste gratuito!
Resumo
O cmdlet Get-ADUser
é um comando útil para encontrar contas de usuário do AD, construir relatórios e muito mais. É uma ótima maneira de extrair usuários do AD de um domínio. Para uma explicação detalhada do Get-AdUser
e todos os parâmetros, leia o conteúdo de ajuda executando Get-Help Get-AdUser
.
Para muitos outros exemplos de como usar o Get-AdUser
, confira o post do blog Active Directory Scripts Galore: Venha e Pegue!.