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
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
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
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).
Saiba mais sobre este assunto
Gerenciamento de configuração para controle seguro de endpoint
Leis de Privacidade de Dados por Estado: Abordagens Diferentes para a Proteção da Privacidade
Exemplo de Análise de Risco: Como Avaliar Riscos
O Triângulo da CIA e Sua Aplicação no Mundo Real
O que é Gerenciamento de Registros Eletrônicos?