Se precisar encontrar usuários do Active Directory (AD) em seu domínio, o comando Powershell Get-Aduser está disponível. 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
PowerShell, você pode obter usuários do AD de várias maneiras diferentes. Neste artigo, você aprenderá algumas dessas maneiras e como usar este útil cmdlet.
Gerencie e Relate o Active Directory, Exchange e Microsoft 365 com o ManageEngine ADManager Plus. Baixe a 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 AD
- Tenha o módulo PowerShell Active Directory instalado
Localizando uma Conta de Usuário com Identity
O cmdlet Get-AdUser
tem um propósito e apenas um propósito. Ele existe para fornecer o máximo de opções possível para encontrar usuários de domínio. Se você já conhece o nome do usuário a ser pesquisado, 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 AD para cada conta de usuário.
O atributo mais comum a ser usado para o parâmetro
Identity
será o atributosamAccountName
.
O Filtro Get-ADUser
Se você precisar encontrar mais de um usuário de domínio ou não souber um identificador, use um filtro. Para fazer isso, você tem alguns parâmetros disponíveis 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, 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 semelhantes à sintaxe de filtro do comando PowerShell Where-Object
.
O parâmetro Filter
utiliza uma linguagem chamada sintaxe de 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 explicação de como usar esse filtro, confira este artigo sobre filtros de Active Directory e LDAP.
Abaixo está um exemplo de uso do parâmetro Filter
. Este exemplo fornece um atributo AD (givenName
neste caso) e define uma condição. O filtro permite apenas que os usuários sejam retornados se tiverem um givenName
igual a Adam
.
A outra opção de filtragem é o LDAPFilter
, que não será abordado neste artigo. Para obter mais informações sobre o LDAPFilter
e sua sintaxe, consulte este artigo sobre filtros de Active Directory e 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. Não limita por OU. Você precisará configurar um “filtro” para o Get-AdUser
filtrar por OU usando Get-Aduser -SearchBase <OU>
.
O uso do parâmetro SearchBase
permite começar a procurar uma conta de usuário em uma OU específica. O parâmetro SearchBase
aceita o nome distinto (DN) de uma OU.
Por exemplo, você poderia encontrar todos os usuários na OU MyUsers como mostrado abaixo. O uso do Filter
de *
significa corresponder a todas as contas de usuário.
Talvez você queira 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 a profundidade na hierarquia da OU que você deseja pesquisar.
Por exemplo, se você quiser 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 todas as OUs filhas e netas, use 2
.
Abaixo está um exemplo de pesquisa por 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 logado. 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 Get-AdUser do PowerShell
Ao executar Get-AdUser
, você verá imediatamente que apenas alguns atributos são retornados. Você também notará que mesmo quando a saída é direcionada para Select-Object -Property *
, nem todos os atributos são retornados.
Para usar o PowerShell para obter atributos de usuários AD, use o parâmetro Property
. Este parâmetro aceita um ou mais atributos delimitados por vírgula para mostrar com a saída.
Abaixo você verá um exemplo de uso do Get-AdUser
para encontrar todas as propriedades para todas as contas de usuário com um givenName
de Adam
. A saída é reduzida, mas você verá outros atributos familiares como endereço de email, propriedades de senha e mais aqui.
Gerencie e Relate o Active Directory, Exchange e Microsoft 365 com o ManageEngine ADManager Plus. Baixe a Versão de Avaliação Gratuita!
Resumo
O cmdlet Get-ADUser
é um comando útil para encontrar contas de usuário AD, construir relatórios e mais. É uma ótima maneira de puxar usuários AD de um domínio. Para um detalhamento 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 no blog Scripts Galore do Active Directory: Venha Pegá-los!.