Como descobrir a origem de um bloqueio de conta usando o PowerShell e o ADAudit Plus
Um dos maiores desafios dos administradores de TI é rastrear a origem de um bloqueio de conta. Você sempre pode obter essas informações usando o Windows PowerShell, mas isso seria um processo complicado. Alternativamente, você pode usar uma ferramenta abrangente de auditoria do AD como o ADAudit Plus para atingir esse objetivo.
Este artigo compara como você pode rastrear a origem de um bloqueio de conta usando o Windows PowerShell e o ADAudit Plus:
PowerShell
Etapas para obter a origem de um bloqueio de conta com o PowerShell:
- Identifique o domínio do qual você deseja recuperar o relatório.
- Identifique os atributos LDAP necessários para buscar o relatório.
- Identifique o DC primário para recuperar o relatório.
- Compile o script.
- Execute-o no Windows PowerShell
- O relatório será exportado no formato fornecido.
- Para obter o relatório em formato diferente, modifique o script de acordo com a necessidade do usuário.
Exemplo de script do Windows PowerShell
#requires -Module ActiveDirectory
#Import-Module ActiveDirectory -EA Stop
Function Get-AccountLockoutStatus {
[CmdletBinding()]
param(
[Parameter(
ValueFromPipeline=$true,
ValueFromPipelineByPropertyName=$true,
Position=0)]
[string[]]
$ComputerName = (Get-ADDomainController -Filter * | select -ExpandProperty Name),
[Parameter()]
[string]
$Username,
[Parameter()]
[int]
$DaysFromToday = 3
)
BEGIN {
$Object = @()
}
PROCESS {
Foreach ($Computer in $ComputerName) {
try {
$EventID = Get-WinEvent -ComputerName $Computer -FilterHashtable @{Logname = 'Security'; ID = 4740; StartTime = (Get-Date).AddDays(-$DaysFromToday)} -EA 0
Foreach ($Event in $EventID) {
$Properties = @{Computername = $Computer
Time = $Event.TimeCreated
Username = $Event.Properties.value[0]
CallerComputer = $Event.Properties.value[1]
}
$Object += New-Object -TypeName PSObject -Property $Properties | Select ComputerName, Username, Time, CallerComputer
}
} catch {
$ErrorMessage = $Computer + " Error: " + $_.Exception.Message
} finally {
if ($Username) {
Write-Output $Object | Where-Object {$_.Username -eq $Username}
} else {
Write-Output $Object
}
$Object = $null
}
}
}
END {}
}
ADAudit Plus
Para obter o relatório,
- Faça login no console web do ADAudit Plus.
- Navegue até Relatórios -> Gerenciamento de usuários -> Analisador de bloqueio de conta
- No menu suspenso "Domínio", selecione o domínio desejado ou selecione "Todos os domínios".
- Use a opção "Pesquisar" para filtrar nomes de usuário específicos ou controlador de domínio, se necessário.
- Obtenha uma lista de todos os bloqueios de conta por um período de sua escolha.
- Selecione "Detalhes do analisador" para obter detalhes granulares sobre a origem de um bloqueio específico.
- Revise os resultados que o ADAudit Plus oferece: Uma análise dos vários componentes que podem ser a origem de um bloqueio de conta.
A seguir estão as limitações do uso do PowerShell para rastrear a origem de um bloqueio de conta:
- Podemos executar este script apenas em computadores que tenham a função de Serviços de Domínio do Active Directory.
- Para alterar formatos de data, aplicar diferentes fusos horários nos resultados e para exportar o relatório em diferentes formatos, o script deve ser modificado.
- A aplicação de mais filtros, como "Durante o horário comercial", aumentará a complexidade da consulta LDAP.
Por outro lado, o ADAudit Plus verificará rapidamente todos os DCs do domínio para recuperar informações sobre a provável origem de um bloqueio de conta na forma de um relatório intuitivo. Os administradores de TI podem usar essas informações para investigar e resolver o problema.

