Encontre contas inativas no Windows Server com PowerShell

Entre as tarefas administrativas que temos que realizar como pessoal de TI está a gestão de todos os usuários que fazem parte de nossa organização e, portanto, de nossa infraestrutura de rede. O gerenciamento de usuários com PowerShell no Windows 10 é muito interessante estar sempre à mão.

Sabemos que os usuários sofrem vários tipos de alterações, seja porque o usuário sai da organização, por ser um usuário temporário ou simplesmente por ordem do RH ou da Gerência, é estabelecida uma data específica para o vencimento da conta do usuário.

O problema pode surgir se por algum motivo, e sem dúvida aparecerá, é que devemos gerar relatórios sobre quais usuários foram desativados ou sua conta expirou para ter um controle específico sobre esses usuários, já que em muitas organizações este tipo ainda é levado em consideração dos usuários mesmo quando não pertencem mais à organização, por exemplo, a área de finanças envia um relatório semanal para uma determinada lista de distribuição e se um dos usuários dessa lista não pertencer mais à organização, uma mensagem de erro será retornada para o remetente indicando que a conta não existe.

Nesta análise, veremos como podemos usar o Windows PowerShell para visualizar quais usuários foram desabilitados ou suas contas expiraram. Essa pesquisa é vital para organizações com muitos usuários, e a pesquisa manual é praticamente impossível.

ObservaçãoCaso você não saiba como abrir a ferramenta PowerShell, aqui mostramos a maneira mais rápida, você deve combinar as seguintes chaves:

1. Encontre contas desabilitadas com PowerShell


Para realizar este tipo de pesquisa, vamos abrir o Windows PowerShell e devemos inserir o seguinte cmdlet:
 Search-ADAccount -AccountDisabled
Graças a este cmdlet, vamos visualizar as várias contas que estão desabilitadas na organização.
Usando este cmdlet, obteremos a seguinte visualização:

Podemos notar que vemos detalhes específicos sobre usuários com deficiência, como:

  • Data de expiração da conta (se aplicável)
  • Nome de usuário desativado
  • PasswordExpire: Permite definir se a senha do usuário expirou
  • ID do usuário, entre outros valores.

2. Encontre contas de usuário expiradas com PowerShell


Outra possibilidade que temos é procurar aqueles usuários que por algum motivo definiram uma data específica para a desativação de sua conta. Para ver esses tipos de usuários, usaremos o seguinte cmdlet:
 Search-ADAccount -AccountExpired
Veremos o seguinte resultado:

Podemos ver informações específicas de usuários cuja conta expirou, como:

  • AccountExpirationDate: Data exata em que a conta do usuário expirou
  • inhame: Nome do usuário
  • UserPrincipalName: Nome com o qual o usuário se conectou ao domínio
  • Nome Distinto: Indica o caminho exato onde o usuário está localizado

3. Encontre contas de usuário inativas com PowerShell


Outra pesquisa que podemos realizar usando o Windows PowerShell é procurar aquelas contas que estão inativas, essas contas podem ser aquelas que já expiraram ou aquelas contas que após um certo período de não usar o sistema as inativas. Para ver esses usuários inativos, usaremos o seguinte cmdlet:
 Search-ADAccount -AccountInactive
Este será o resultado obtido:

Como nas visualizações anteriores, temos diferentes parâmetros associados a esses usuários. Vamos lembrar que, gerenciando o Active Directory do Windows Server 2016, podemos desabilitar usuários e computadores, por isso, se usarmos o cmdlet Search-ADAccount -AccountDisabled Veremos todos os objetos (usuários e equipes), para visualizar apenas um objeto específico devemos adicionar o seguinte:

 Search-ADAccount -AccountDisabled -UsersOnly (visualizar usuários) Search-ADAccount -AccountDisabled -ComputersOnly (visualizar computadores)
Vimos como podemos usar o cmdlet Search-ADAccount para visualizar os diferentes tipos de usuários que temos em nosso domínio. Por fim, deixamos um tutorial com comandos PowerShell muito úteis:

Comandos PowerShell para administrador

wave wave wave wave wave