Come verificare chi ha creato un account utente in AD?

0
(0)

In questo articolo vedremo come scoprire la data di creazione di un utente in Active Directory; come usare PowerShell per ottenere informazioni dai registri eventi del controller di dominio su chi ha creato l’account utente e quando l’utente ha effettuato l’ultimo accesso al dominio. Queste attività si verificano spesso durante il controllo degli account utente in Active Directory, la ricerca e l’eliminazione di oggetti AD inattivi o la raccolta di statistiche.

Data di creazione degli account utente AD

È possibile ottenere la data di creazione di qualsiasi oggetto Active Directory (utente, computer o gruppo) tramite lo dsa.mscsnap-in grafico ADUC ( ) (assicurarsi di abilitare l’opzione Funzioni avanzate nel menu Visualizza).

  1. Trovare l’utente richiesto nell’albero ADUC manualmente o utilizzando la funzione di ricerca AD ;
  2. Aprire le proprietà dell’utente e selezionare la scheda Oggetto ;
  3. La data di creazione dell’oggetto in Active Directory è specificata nel campo Creato .

Lo stesso valore può essere ottenuto con l’ editor di attributi AD integrato ( whenCreated attributo).

Inoltre, puoi usare il cmdlet Get-ADUser dal modulo AD PowerShell per ottenere la data di creazione di un account utente:

Get-ADUser a.brion –properties name,whencreated|select name,whencreated

È possibile ottenere l’ora dell’ultimo accesso dell’utente al dominio utilizzando gli attributi lastLogon o lastLogonTimpestamp . 

Trovare account di Active Directory creati di recente con PowerShell

Con un semplice script PowerShell, puoi elencare gli account utente creati di recente in Active Directory. A tale scopo, utilizzare il cmdlet Get-ADUser per selezionare tutti gli utenti e filtrarli in base al valore dell’attributo utente whencreated . Ad esempio, il seguente script di PowerShell elencherà gli utenti creati in Active Directory nelle ultime 24 ore:

$lastday = ((Get-Date).AddDays(-1))
$filename = Get-Date -Format yyyy.MM.dd
$exportcsv=”c:\ps\new_ad_users_” + $filename + “.csv”
Get-ADUser -filter {(whencreated -ge $lastday)} –properties whencreated | Select-Object Name, UserPrincipalName, SamAccountName, whencreated | Export-csv -path $exportcsv

In questo esempio, l’elenco degli account AD viene salvato in un file con la data corrente come nome. Puoi fare in modo che questo script venga eseguito quotidianamente tramite l’ Utilità di pianificazione di Windows . Di conseguenza, i file contenenti le informazioni sulla data di creazione di nuovi account verranno salvati nella directory specificata. È possibile aggiungere qualsiasi altro attributo degli utenti di Active Directory al report (vedere l’articolo sull’utilizzo del cmdlet Get-ADUser ).

Come scoprire chi ha creato un account utente in Active Directory?

Se ci sono più amministratori nel tuo dominio Active Directory, o hai delegato le autorizzazioni per creare e modificare account utente ad altri utenti non amministratori (ad esempio, al personale delle risorse umane), potresti essere interessato alle informazioni sul nome dell’utente che ha creato l’account specifico in Active Directory. Queste informazioni sono disponibili nei registri di sicurezza dei controller di dominio di Active Directory.

Quando si crea un nuovo utente nel dominio , nel registro di sicurezza del controller di dominio viene visualizzato un evento con EventID 4720 dall’origine di Gestione account utente ( solo sul controller di dominio , su cui è stato creato l’account ). Il criterio Controlla gestione account utente deve essere abilitato nell’oggetto Criteri di gruppo controller di dominio predefinito.

La descrizione di questo evento contiene la stringa: A user account was created. Il campo Oggetto contiene l’account con il quale è stato creato il nuovo account utente AD (evidenziato nello screenshot seguente). Il nuovo nome utente è specificato nel campo Nuovo account .

È necessario raccogliere 4720 eventi da tutti i controller di dominio. È possibile ottenere un elenco di controller di dominio utilizzando il cmdlet Get-ADDomainController . Quindi resta da controllare l’evento 4720 su ciascuno di essi e creare un report risultante. Lo script per ottenere tutti gli eventi di creazione dell’account dai registri del controller di dominio per le ultime 24 ore può essere simile al seguente:

$Report = @()
$time = (get-date) - (new-timespan -hour 24)
$AllDCs = Get-ADDomainController -Filter *
ForEach($DC in $AllDCs)
{
Get-WinEvent -ComputerName $dc.Name -FilterHashtable @{LogName="Security";ID=4720;StartTime=$Time}| Foreach {
$event = [xml]$_.ToXml()
if($event)
{
$Time = Get-Date $_.TimeCreated -UFormat "%Y-%m-%d %H:%M:%S"
$CreatorUser = $event.Event.EventData.Data[4]."#text"
$NewUser = $event.Event.EventData.Data[0]."#text"
$objReport = [PSCustomObject]@{
User = $NewUser
Creator = $CreatorUser
DC = $event.Event.System.computer
CreationDate = $Time
}
}
$Report += $objReport
}
}
$Report

Di conseguenza, si dispone di un $Reportoggetto contenente informazioni su chi ha creato l’utente AD, quando e su quale controller di dominio.

Puoi esportare il rapporto in un file CSV:

$filename = Get-Date -Format yyyy.MM.dd
$exportcsv=”c:\ps\ad_users_creators” + $filename + “.csv”
$Report | Export-Csv $exportcsv -append -NoTypeInformation -Delimiter ","

È possibile salvare le informazioni sugli eventi trovati non in un file di testo normale su DC, ma in un database esterno. Ad esempio, puoi scrivere dati su MySQL tramite MySQL .NET Connector per PowerShell o su Microsoft SQL Server . 

/ 5
Grazie per aver votato!
Vuoi abilitare le notifiche?
Desiderate avere la possibilita’ di ricevere delle notifiche? Se si avrete la possibilita’ di essere sempre aggiornati con le nostre ultime proposte o notizie . Consigliamo l’adesione Grazie !
Attiva

How useful was this post?

Click on a star to rate it!

Average rating 0 / 5. Vote count: 0

No votes so far! Be the first to rate this post.

Vai alla barra degli strumenti