Remover Todas as Versões do Java: Um Guia de Script do PowerShell

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:

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.

PS> Get-ADUser -Identity abertram


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local



PS> Get-ADUser -Identity 'S-1-5-21-4117810001-3432493942-696130396-3142'


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local



PS> Get-ADUser -Identity 'CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local'


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local

O atributo mais comum a ser usado para o parâmetro Identity será o atributo samAccountName.

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.

PS> Get-AdUser -Filter "givenName -eq 'Adam'"


DistinguishedName : CN=ADBertram,OU=Accounting,DC=mylab,DC=local
Enabled           : False
GivenName         : Adam
Name              : ADBertram
ObjectClass       : user
ObjectGUID        : 8ec5e2a8-1fda-42cb-9406-b1e6356dd457
SamAccountName    : ADBertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3163
Surname           : Bertram
UserPrincipalName : ADBertram

DistinguishedName : CN=Hughes\, Adam,CN=Users,DC=mylab,DC=local
Enabled           : True
GivenName         : Adam
Name              : Hughes, Adam
ObjectClass       : user
ObjectGUID        : 96778db3-3dbd-4b83-9183-db111caa2791
SamAccountName    : ahughes
SID               : S-1-5-21-4117810001-3432493942-696130396-38201
Surname           : Hughes
UserPrincipalName :

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.

PS> Get-ADUser -Filter * -SearchBase 'OU=MyUsers,DC=domain,DC=local'

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.

PS> Get-ADUser -Filter * -SearchBase 'OU=MyUsers,DC=domain,DC=local' -SearchScope 2

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:

PS> $cred = Get-Credential
PS> Get-AdUser -Filter * -Credential $cred

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.

PS> Get-AdUser -Filter "givenName -eq 'Adam'" -Properties *


AccountExpirationDate                :
accountExpires                       : 9223372036854775807
AccountLockoutTime                   :
AccountNotDelegated                  : False
AllowReversiblePasswordEncryption    : False
AuthenticationPolicy                 : {}
AuthenticationPolicySilo             : {}
BadLogonCount                        : 0
badPasswordTime                      : 0
badPwdCount                          : 0
CannotChangePassword                 : False
CanonicalName                        : mylab.local/Accounting/ADBertram
........

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!.

Source:
https://adamtheautomator.com/get-aduser/