Uno de los mayores desafíos de los administradores de TI es rastrear el origen del bloqueo de una cuenta. Siempre puede obtener esta información usando Windows PowerShell, pero eso sería un proceso complicado. Alternativamente, puede utilizar una herramienta integral de auditoría de AD como ADAudit Plus para lograr este objetivo.
En este artículo se compara cómo puede rastrear el origen de un bloqueo de cuenta mediante Windows PowerShell y ADAudit Plus:
#requires -Módulo ActiveDirectory
#Import-Módulo 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 en $ComputerName) {
try {
$EventID = Get-WinEvent -ComputerName $Computer -FilterHashtable @{Logname = 'Security'; ID = 4740; StartTime = (Get-Date). AddDays(-$DaysFromToday)} -EA 0
Foreach ($Event en $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 {}
}
A continuación se muestran las limitaciones del uso de PowerShell para realizar un seguimiento del origen de un bloqueo de cuenta:
Por otro lado, ADAudit Plus escaneará rápidamente todos los DC del dominio para recuperar información sobre el origen probable de un bloqueo de cuenta en forma de un informe intuitivo. Los administradores de TI pueden utilizar esta información para investigar y resolver el problema.