O cmdlet Get-ADUser é uma ferramenta muito versátil usada para obter usuários do Active Directory. Se você precisar identificar usuários específicos do AD, poderá usar valores como o nome da conta SAM para fazer isso. Ou você pode usar o parâmetro Properties quando precisar de informações detalhadas sobre um ou mais usuários.

Da mesma forma, quando você está lidando com um grande número de objetos de usuário, o parâmetro Filter é útil para obter usuários do AD com base em determinados filtros como Email, Cidade, Título, etc. Combinado com ferramentas como classificação e exportação, Get-ADUser torna o gerenciamento de usuários em domínios muito conveniente.

Requisitos do PowerShell Get-ADUser

Em controladores de domínio, o comando Get-ADUser obviamente funciona por padrão. Mas se você tentar executar este comando em outros sistemas que fazem parte do domínio AD, poderá encontrar o erro Get-ADUser não reconhecido.

Isso ocorre porque você deve instalar o RSAT AD componente primeiro Você pode fazer isso com Add-WindowsCapability –online –Name”Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0″. Depois de fazer isso, você pode usar Get-ADUser em qualquer sistema.

Você também não ficará limitado a contas de administrador de domínio; qualquer conta de usuário AD autorizada funcionará. Uma coisa a lembrar é que, embora contas não administrativas possam recuperar a maioria dos atributos de objeto de usuário usando este comando, algumas informações confidenciais podem ser acessíveis apenas para administradores de domínio.

Parâmetros de Get-ADUser

Get-ADUser usa principalmente três parâmetros para recuperar objetos de usuário – Identificar, Filtro e LDAPFilter.

Identidade recupera um objeto de usuário usando um valor específico como seu nome distinto ou GUID. Isso é útil quando você precisa encontrar um objeto de usuário e lembrar o valor necessário.

Filter retorna uma lista de objetos de usuário com base nas consultas selecionadas. Nos casos em que você precisa obter usuários AD cuja senha expirou ou aqueles que não fizeram login nas últimas 2 semanas e assim por diante, o filtro pode ser útil. Você pode limitar ainda mais os resultados a apenas objetos de usuário de servidores específicos, OUs específicas, etc.

LDAPFilter também usa strings de consulta para filtrar os objetos de usuário. A diferença é que, ao contrário do Filter que segue a sintaxe do PowerShell, o LDAPFilter usa sua própria sintaxe de consulta LDAP (atributo e valor). Isso significa que ele tem uma pequena curva de aprendizado, mas você descobrirá que é uma ferramenta útil quando se acostumar.

Existem outros parâmetros úteis também, como SearchBase e SearchScope que abordaremos em nossos exemplos. Recomendamos consultar a documentação da Microsoft se quiser verificar o lista completa de parâmetros, mas os três anteriores são os que focaremos neste artigo.

Identity

Identity retorna um único objeto de usuário do AD usando uma das seguintes propriedades:

Nome distinto (DN) ObjectGUID  objectSid (SID ou identificador de segurança) SamAccountName

Digamos que você precise de detalhes sobre um usuário chamado Ava. Supondo que o SamAccountName dela seja ava, você pode recuperar o objeto de usuário com Get-ADUser-Identity ava.

Este comando retorna apenas 10 propriedades principais. Se você precisar da lista completa de propriedades para um objeto de usuário, use Get-ADUser-Identity ava-Properties * em vez disso.

Filtro

Como as pessoas geralmente não se lembram dos valores de propriedade necessários para o parâmetro Identity, Filter tende a ser mais comumente usado. O filtro especifica uma string de consulta que segue a sintaxe da linguagem de expressão do PowerShell para recuperar objetos de usuário do AD. Assim, o operador fica entre o operando e o valor.

Um exemplo básico seria Get-AdUser-Filter”Name-like’*a*'”, onde Name é o operando, like é o operador e a é o valor. Este comando retorna todos os objetos de usuário que contêm a letra a em seu nome.

Outro comando útil é Get-ADUser-Filter * que recupera todos os objetos AD.

Agora, aqui está a lista de operadores de filtro:

OperadorFunçãoeqIgual togeMaior que ou igual toleMenor que ou tom igualNão igual a aproximadamenteAproximadamente igual agtMaior queltMenos quelikeLikenotlikeNot likeandTodas as cláusulas devem ser trueouQualquer uma das cláusulas deve ser truenotThe c lause deve ser falsebandBitwise ANDborBitwise OR

Conforme declarado anteriormente, usar Get-ADUser -Properties * retorna a lista completa de propriedades. Você pode verificar esta lista para todas as propriedades aceitáveis ​​que você pode usar para filtrar a saída. Mas, por enquanto, aqui estão alguns comumente usados:

AccountExpirationDate Cidade Empresa País CountryCode Departamento Descrição EmailAddress EmployeeID EmployeeNumber Enabled Initials LogonCount Name PasswordExpired SamAccountName State  Title

Usando esses operadores e propriedades, você pode criar vários tipos de filtros. Por exemplo, para obter apenas usuários com Tech em sua descrição, você pode usar Get-ADUser-Filter”Description-like’Tech'”. Para listar apenas usuários AD ativos, você usaria Get-ADUser-Filter’Enabled-eq $true’

Da mesma forma, você poderia combinar os comandos para listar usuários AD ativos que possuem Tech em sua descrição como tal:
Get-ADUser-Filter {Description-like’Tech’-and Enabled-eq $true}

Em uma conta não administrativa, você pode encontrar um erro de não encerramento se não tiver permissão para executar a tarefa. Nesse caso, você pode usar a opção Credencial para executar o comando com credenciais diferentes, como:
Get-ADUser-Filter *-Credential ava

Finalmente, como Filter geralmente retorna muitos objetos AD, você pode otimizar ainda mais a saída especificando os valores de propriedade exatos que você precisa. Use o parâmetro Properties para recuperar os valores primeiro e, em seguida, use a opção Select-Object para exibir apenas as propriedades especificadas.
Get-ADUser-Filter *-Properties Name , Iniciais | Selecione o nome do objeto, iniciais

LDAPFilter

As cláusulas LDAP seguem o formato (ADAttribute Operator Value). Especificamente, ele usa os seguintes operadores:

OperadorFunção=Igual a>=Maior que ou igual a<=Menor que ou igual a~=Aproximadamente igual a&Boolean AND|Boolean OR!Boolean NOT

Vejamos alguns exemplos básicos. O seguinte comando retorna objetos AD cujos nomes terminam com era:
Get-ADUser-LDAPFilter”(name=*era)”

Para obter objetos que não incluem Tech em sua descrição:
Get-ADUser-LDAPFilter'(!(description=Tech))’

Para combinar várias cláusulas para obter objetos com A no nome, mas sem Tech na descrição:
Get-ADUser-LDAPFilter'(&(!(description=Tech ))(cn=A))’

Exemplos úteis de Get-ADUser

Você deve ter uma noção do uso básico de Get-ADUser neste ponto. Listamos mais exemplos de alguns casos de uso comuns aqui que demonstrarão outros parâmetros e cenários úteis.

Para obter a saída em formato de tabela, use Format-Table ou ft:
Get-ADUser-Filter * | Tabela de formato
Para obter objetos de um contêiner específico, use SearchBase:
Get-ADUser-Filter *-SearchBase”OU=Cali,OU=Locations,DC=mylab,DC=local”
Para reduzir os objetos apenas a um determinado nível da hierarquia OU, use SearchScope:
Get-ADUser-Filter *-SearchBase”OU=Cali,OU=Locations,DC=mylab,DC=local”-SearchScope 1 | ft
Para obter objetos de um controlador de domínio específico , use Server:
Get-ADUser –Server mylab.local –Identity ava
Para obter usuários que não têm um número de telefone definido,
Get-ADUser-LDAPFilter'(!phone=*)’
Para exibir os endereços de e-mail de todos os usuários s,
Get-ADUser-Filter *-Propriedades Nome, EmailAddress | selecione Nome, Endereço de Email
Para exportar a saída para text,
Get-ADUser-filter *-properties Nome, PasswordLastSet | ft Name, PasswordLastSet > C:\pwddata.txt
Para exportar a saída para CSV,
Get-ADUser-filter *-properties Name, PasswordLastSet | nome do objeto select, PasswordLastSet | Export-csv-path C:\pwddata.csv-Append-Encoding UTF8

Categories: IT Info