Tempo stimato di lettura: 1 minuto

Account Locked Out Examine | Script Powershell è uno script powershell che esamina uno specifico account in stato locked per determinare il motivo per cui è loccato!

Account Locked Out Examine è uno script creato in powershell che serve per esaminare un account in stato locked e capire il perché lo sia…

Non fa altro che collegarsi ad Active Directorym definire quale sia il PDCe (Primary Domain Controller Emulator) ed interrogarlo per capire da quale PC o server provenga il blocco dell’account. Ho trovato diversi script in rete che compiono (più o meno) la stessa operazione, ma non con così tanta semplicità, quindi… spero possa tornare utile.

I requisiti sono quelli di far girare lo script in rete (ovviamente), in modo che abbia accesso ai Domain Controller e utilizzare un account con privilegi di Domain Admin. Tutto qui!

Veniamo, ora, allo sctipt vero e proprio…



<#
Locked Out Examine
Roberto Bonfa'
Versione : 1.4
Vers. 1.4 - Sostituito il file temporaneo contenente i risultati, con la scrittura a schermo
Vers. 1.3 - Creazione ed eliminazione del file temporaneo contenente il SID e stop dello script fino a chiusura del file temp
Vers. 1.2 - Interazione con utente per il SID
Vers. 1.1 - Adattamento ad ogni dominio, senza necessita' di modifiche allo script
Vers. 1.0 - Creazione script
Script creato per l'esame del lock di una utenza di dominio
#>

<# Importo il modulo di AD #>
Import-Module Activedirectory

<# Pulisco la finestra #>
cls

<# Richiedo che venga inserito il nome utente da ricercare #>
$Username = Read-Host -Prompt "Inserisci il nome utente..."

<# Determino lo USERID dell'utente (SID) #>
$UserID = Get-ADUser -Identity "$Username" | Select-Object SID | ft -hidetableheaders

<# Pulisco la finestra #>
cls

Write-Host "Copia il SID presente nel file notepad e incollalo quando richiesto (chiudi notepad per continuare)"

<# Creo il nome del file e il file temporaneo #>
$tempFile = [io.path]::GetTempFileName() 
$UserID >> $tempFile | Where { $_ -ne "" } | ForEach { $_.Replace(" ","") }
<# La scrittura del tempfile interrompe lo script #>
Notepad $tempFile | Out-Null 
<# Una volta chiuso il file, verra' rimosso e ripartira' lo script #>

Remove-Item $tempFile

<# Pulisco la finestra #>
cls

<# Determino il PDC Emulator #>
$PDC = (Get-AdDomain).PDCemulator

<# Chiedo all'utente di incollare il SID #>
$SID = Read-Host -Prompt "Incolla il SID copiato"

<# Pulisco la finestra #>
cls

<# Effettuo la ricerca e restituisco i risultati #>
Get-WinEvent -Computername $PDC -FilterHashtable @{logname='security';id=4740;data=$SID} | Select-Object -Property timecreated,
@{label='username';expression={$_.properties[0].value}},
@{label='computername';expression={$_.properties[1].value}}

<# Inserisco due righe vuote #>
write-host "`n"
write-host "`n"

<# Fermo lo script con il risultato. Premere un tasto per chiudere la finestra #>
Write-Host "Premi un tasto per chiudere"
$x = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")

Abbiamo terminato con lo script… Ora dovete solo metterlo su un server o un PC che abbia accesso al dominio e utilizzare un’utenza come Domain Admins. Buon test!

P.S.: Se volete scaricare direttamente lo script, potete prelevarlo direttamente qui sotto (tasto destro + “salva link con nome”)

Scarica “Account Locked Out Examine”

Qualora preferiate utilizzare un software più “professionale”, vi consiglio di provare il software di Netwrix, prelevabile da questa pagina

(Visited 1 times, 1 visits today)