4 Dicas para buscar informações no AD com PowerShell

PowerShell, Windows Server

Fala pessoal, tudo certo com vocês?

Hoje irei falar um pouco sobre PowerShell e GPO, e alguns comando que uso no meu dia a dia, que podem ajudar a vocês, a ter um processo mais automatizado para algumas coisas. Já vi pessoas por exemplo, entrando em usuário por usuário para verificar se a conta estava com a senha para nunca expirar, ou tirar um relatório de contas bloqueadas..

Hoje irei deixar 4 dicas, de comandos que você pode precisar usar, e vai economizar muito tempo do seu trabalho.

Eu particularmente, sempre gosto de usar o PowerShell ISE, para realizar algumas tarefas.

Vamos para 1ª dica, bem simples e que pode ajudar você a saber se seu ambiente está em compliance com suas diretivas na empresa.

Dica 1:

Como identificar via Powershell contas que estão marcadas para a senha nunca expirar? (Lembrando do meu post passado, isso não é uma boa pratica ter contas com senhas que nunca expiram…)

Com o PowerShell ISE ou Powershell, no seu AD, execute o seguinte comando:

Search-ADAccount -PasswordNeverExpires -UsersOnly

Esse comando retornara para você todos usuários que estão com a senha para nunca expirar, automatizando seu trabalho e trazendo esses dados em segundos rsrs.

Dica 2:

E como verificamos quais contas estão expiradas? Bem simples também, iremos mudar apenas 1 coisinha.

Search-ADAccount -AccountExpired  -UsersOnly

Esse comando retornara todas as contas expiradas, bem mais simples que procurar uma por uma né? rsrs

Dica 3:

E como verificar quais contas estão bloqueadas? O comando é praticamente o mesmo, mudando apenas um parâmetro

Search-ADAccount -LockedOut -UsersOnly

Esse comando retornara todas as contas bloqueadas, facilitando seu trabalho 😀

Dica 4:

Como verificar quais contas estão desabilitadas rsrs

Search-ADAccount -AccountInactive -UsersOnly

Com esse comando, iremos verificar todas as contas desabilitadas.

Além desses comandos, que coloquei de uma forma mais simples, existe diversos outros parâmetros que você pode usar, como por exemplo, exportar para um arquivo HTML, ou realizar alguns filtros para aparecer só o nome, dentre vários outros. Irei deixar a documentação da Microsoft, no qual irá mostrar com mais detalhes esses comandos.

Eu gosto de usar bastante o Format-Table nos comandos e em scripts, irei deixar também a documentação dele.

Search-ADAccount (Documentação)

https://docs.microsoft.com/en-us/powershell/module/activedirectory/search-adaccount?view=windowsserver2019-ps

Format-Table (Documentação)

https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/format-table?view=powershell-7.1

5 Dicas para deixar seu Active Directory mais saudável e seguro

Microsoft, Windows Server

Trabalhando como analista de infraestrutura, verifico diversos ambientes com configurações especificas para cada ambiente. Nesse post irei falar sobre 5 dicas no qual vejo ser importantes em um ambiente com Active Directory.

Dica 1 – Manter os servidores atualizados.

Percebo que muitos profissionais de TI, tem medo de realizar atualização do S.O em servidores, principalmente em um com um Active Directory Instalado. Percebo muitas vezes o seguinte pensamento “Se está funcionando, porque eu deveria mexer? Reiniciar, atualizar…” Se você tem um ambiente saudável com redundância, não há problema algum de atualizar seu servidor. O ideal é que você tenha um ambiente para homologação, sei que nem sempre você terá recursos para isso. Caso você não tenha um ambiente para homologação, antes de instalar atualizações verifique sempre quais alterações essa atualização irá fazer, pois caso você verifique algum problema depois de atualizar, saberá se a atualização impactou no problema.

Dica 2 – Mantenha o modelo de menor privilegio.

O que quero passar com a ideia de menor privilegio? Não de mais privilegio/acesso/permissão para um usuário/grupo que não precisa. Como assim? Vou te dar um exemplo que vejo muito acontecer… um usuário x dentro do grupo de administradores do domínio. Essa é uma falha que vejo acontecer muito… e quão grave é essa falha? MUITO GRAVE rsrs

O grupo administradores do domínio, são os todos poderosos, os que podem fazer praticamente tudo, até destruir seu ambiente. Então muito cuidado ao incluir um usuário nesse grupo.

Dica 3 – Cuidado com alterações nas GPO`s Default Domain Policy e Default Domain Controllers Policy

Percebo no dia a dia, nem todo mundo tem um controle total do seu ambiente de AD, e realizam configurações desnecessárias nessas duas GPOs. Essas GPOs são muito importante para seu ambiente, então cuidado ao realizar alterações nela, aconselho a criar uma nova GPO para fazer uma outra configuração e não configurar direto na Default Domain Policy

Dica 4 – Tenha no Mínimo 2 servidores de Active Directory

Sempre falo, quem tem apenas 1 AD não tem nenhum rsrs, então recomendo que você tenha no mínimo 2 servidores com o Active Directory, de preferencia não coloque funções e recursos desnecessários nos servidores, e sempre valide que estão replicando corretamente.

Dica 5 – Realize uma limpeza nos objetos a cada x tempo

Como assim Paulo? rsrs Deixa eu te explicar… Quando falo em realizar uma limpeza, é excluir computadores que não estão mais na sua rede, usuários que não são usados a por exemplo 2 meses… Exclua objetos que não estão sendo usados… MAS MUITO CUIDADO, TENHA CERTEZA QUE ESSE OBJETO NAO VAI IMPACTAR ALGO EM SEU AMBIENTE.

Ahh e usuário você desabilita.

Alterando atributos em massa no Active Directory com PowerShell

Microsoft, PowerShell

Alterando atributos no Active Directory com PowerShell

Fala pessoal, no post de hoje irei falar um pouco de como realizar alterações em massa no Active Directory usando o Powershell.

Antes de começar, vamos um falar brevemente o motivo que eu iria usar o Powershell para modificar campos no Active Directory. Imagina o seguinte cenário, uma filial da sua empresa que tem 100 contas de usuário mudou de endereço, e você precisar modificar o CEP nos usuários do AD, 1 ou 5 contas tudo bem, isso seria bem rápido via GUI, agora já imaginou 100, 1000 ou bem mais? Rsrs Aqui vou fazer uma demonstração bem básica, mas você pode ficar à vontade para incrementar e modificar de acordo com sua necessidade. Vamos começar?

1º Vamos abrir o PowerShell ISE como administrador.

Para realizar os próximos procedimentos você precisa do modulo do Active Directory instalado no seu computador, ou realizar o processo dentro de um servidor de AD.

Uma coisa que eu sempre faço é verificar os campos do objeto para verificar o que posso alterar. Para fazer isso eu uso o comando:

Get-ADuser usuário -propiertes *

Segue o exemplo:

Com isso, eu posso buscar o que eu desejo alterar e montar o meu código.

Com as propriedades em mão, vamos começar escrever nosso código.

Agora precisamos da OU no qual iremos realizar essa alteração dos usuários, você também poderia realizar apenas para 1 usuário, mas nesse exemplo irei fazer para todos os usuários de uma OU.

No meu ambiente irei escolher o departamento de Vendas de Recife, adicionar/alterar a propriedade Description.

Irei definir a seguinte informação “Usuário do departamento de Vendas da Unidade Recife”

Vou usar o seguinte código para verificar se o mesmo traz as informações dos usuários de Vendas:

Get-ADUser -Filter * -SearchBase "OU=Usuarios,OU=VENDAS,OU=Recife,DC=paulocostati,DC=com" | Format-Table name

Obs. Altere “OU=USUARIOS…” Para a OU que você deseja. Adicionei o Fomart-Table name no final para retornar apenas os nomes.

Agora iremos adicionar ao nosso código nossa alteração.

Get-ADUser -Filter * -SearchBase "OU=Usuarios,OU=VENDAS,OU=Recife,DC=paulocostati,DC=com" | Set-ADUser -Description "Usuário do departamento de Vendas da Unidade Recife”

Agora iremos verificar se as alterações foram realizadas, você pode olhar tanto por interface gráfica ou powershell.

Vamos continuar com o powershell… Digite o seguinte comando para verificar:

Get-ADUser -Filter * -SearchBase "OU=Usuarios,OU=VENDAS,OU=Recife,DC=paulocostati,DC=com" -Properties name,Description

Aqui verificamos que nossa alteração foi realizada com sucesso.

Aqui finalizo como alterar os campos em massa via PowerShell.

Verificar o último logon de usuário via PowerShell

Microsoft, PowerShell

Para verificar o ultimo logon ou outras propriedades de um usuário se conecte no Active Directory ou instale o modulo de Active Directory para powershell no seu computador.

1º Conecte no seu servidor Active Directory (AD)

2º Abra o Powershell, você pode buscar no menu iniciar ou abrir com tecla de Windows + R

Digite Powershell

3º No Powershell digite o seguinte codigo:

Get-ADUser -Identity usuario -Properties “LastLogonDate” | fl name, LastLogonDate

No lugar de usuário altere para o usuário que você deseja.

Você também pode retirar o | fl name, LastLogonDate para verificar mais propriedades.