Magic Quadrant™ para gerenciamento de acesso privilegiado 2025: Netwrix reconhecida pelo quarto ano consecutivo. Baixe o relatório.

Plataforma
Centro de recursosBlog
Como desativar contas de usuário inativas usando PowerShell

Como desativar contas de usuário inativas usando PowerShell

Mar 17, 2015

Contas de usuário inativas do Active Directory (AD) podem representar um risco de segurança para as organizações, em situações como quando ex-funcionários ainda têm contas ativas meses após deixarem a empresa porque o RH não informou a TI, ou quando contas podem ser criadas para um propósito particular mas nunca são excluídas após o evento. Seja qual for o motivo da existência de tais contas, o Active Directory pode rapidamente sair de controle, tornando por sua vez seus sistemas mais difíceis de auditar e menos seguros.

Retry

Módulo do Active Directory para PowerShell

O módulo PowerShell para Active Directory permite que administradores de sistema consultem o Active Directory e gerem relatórios usando os dados resultantes. O módulo AD para PowerShell é instalado por padrão nos controladores de domínio do Windows Server 2012, ou alternativamente você pode baixar o Remote Server Administration Tools (RSAT) for Windows 8.1 e instalar o módulo usando o comando abaixo.

Faça login como administrador local, abra um prompt do PowerShell, digite o código abaixo e pressione ENTER para instalar o módulo AD para PowerShell:

      Install-WindowsFeature RSAT-AD-PowerShell
      

Pesquise no Active Directory por contas inativas

O cmdlet Search-ADAccount oferece uma maneira fácil de consultar o Active Directory para contas de usuário inativas:

      Search-ADAccount –UsersOnly –AccountInactive
      
Image

O comando acima retorna todas as contas inativas. Para restringir os resultados a um intervalo de tempo específico, você pode adicionar o parâmetro –TimeSpan ao Search-ADAccount. No exemplo abaixo, uma variável define o valor para o parâmetro –TimeSpan, utilizando o cmdlet New-Timespan para simplificar a entrada:

      $timespan = New-Timespan –Days 90 Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan
      

Alternativamente, você pode especificar o parâmetro –DateTime para retornar contas que estão inativas desde uma data específica. No comando a seguir, são retornadas contas que não estão ativas desde 5 de maioº de 2014:

      Search-ADAccount –UsersOnly –AccountInactive -DateTime ‘5/20/2014’
      

Para obter informações mais amigáveis sobre as contas, encaminhe os resultados para o cmdlet Get-ADUser e depois escolha as colunas a serem exibidas no resultado usando Select:

      Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Select Name,Department,Title,DistinguishedName
      
Image

Os resultados também podem ser ordenados por um campo especificado, neste exemplo pelo atributo LastLogOnDate, que é derivado do LastLogonTimestamp e convertido em um formato legível:

      Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Sort LastLogOnDate | Select Name,Department,Title,DistinguishedName
      

É importante notar que, ao contrário do atributo LastLogOn, LastLogonTimestamp é sincronizado entre controladores de domínio, mas pode estar desatualizado de 9 a 14 dias, então você deve levar isso em consideração ao processar seus resultados.

Outra maneira de simplificar a saída e contar o número de usuários inativos é encaminhar os resultados para o cmdlet Measure:

      Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Measure
      

Assim como com outros cmdlets do PowerShell, os resultados podem ser encaminhados para Out-GridView, ou para um arquivo delimitado por vírgulas para que os resultados possam ser importados para o Excel.

      Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Out-GridView
      

Desativar Contas Inativas

Uma vez que você tenha obtido o conjunto de resultados que está procurando, tudo o que precisa fazer é encaminhá-los para o cmdlet Disable-ADAccount conforme mostrado aqui para desativar as contas:

      Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Disable-ADAccount
      

Netwrix Auditor inclui a capacidade de detectar e desativar contas de usuários inativas em todas as versões suportadas do Windows, e os resultados são integrados ao banco de dados, recursos de relatórios e notificações do produto, de modo que scripts adicionais não precisam ser executados e mantidos separadamente. Netwrix Auditor pode desativar contas inativas, definir uma senha aleatória, mover contas para uma Unidade Organizacional (OU) designada ou excluir as contas.

Agora é hora de deixar sua opinião na enquete abaixo. Lembre-se de que há apenas uma resposta correta!

Compartilhar em

Saiba Mais

Sobre o autor

Asset Not Found

Russell Smith

Consultor de TI

Consultor de TI e autor especializado em tecnologias de gestão e segurança. Russell tem mais de 15 anos de experiência em TI, escreveu um livro sobre segurança do Windows e coautorou um texto para a série Microsoft’s Official Academic Course (MOAC).