TUTOS.EU

Voir à quelle heure et sur quel poste un utilisateur c'est connecté

Trouver qui s'est connecté sur une machine dans les journaux de sécurité

Sur un contrôleur de domaine ou sur un serveur avec les outils qui vont bien d'installés, lancez gpmc.msc et (de préférence) modifiez la Default Domain Policy

Sous
Computer configuration > policies > Windows settings > Security settings > Local Policies > Audit Policy

mettez le paramètre "audit Logon events" à "success"

Notez que ce paramètres pour les OS Antérieurs à Vista/2008 car sur un 2012 je m'en suis passé avec le reste de la procédure

Sous
Computer configuration > policies > Windows settings > Securtity settings > Local Policies > Security options

mettez le paramètre
Audit: Force audit policy subcategory settings (Windows Vista or later) to override audit policy category settings

Maintenant sous
Computer configuration > Policies > Windows settings > Security settings > Advanced Audit Policy Configuration > Audit Policies > Logon/Logoff

Passez "Audit Logon" à "Success"

Rebootez ou faites un gpupdate de vos machines pour que la policy soit prise en compte.

Dans le journal de sécurité, cherchez maintenant ces ID :

EventId OS
540 Jusque XP et 2003
4624 A partir de Seven/Windows 2008

Voici un exemple de résultat :

Notez que dans le log des DC c'est l'ip qui est notée et non le nom de la machine.

Si vous avez un accès à une machine Windows, dans journal de sécurité local avec le même eventid vous saurez qui s'est connecté.

Comme indiqué sur le site
http://blogs.msdn.com/b/ericfitz/archive/2008/08/20/tracking-user-logon-activity-using-logon-events.aspx

Il y a d'autres eventid intéressants à ce niveau :

EventId jusque XP EventId à partir de vista et 2008 Signification
512 4608 STARTUP
513 4609 SHUTDOWN
540 4624 A quelle heure et sur quel poste un user s'est connecté
538 4634 LOGOFF
551 4647 BEGIN_LOGOFF
? 4722 Activation du compte d'un user à partir de Seven/Windows 2008
? 4725 Désactivation du compte d'un user à partir de Seven/Windows 2008
? 4728 Ajout d'un user dans un groupe
? 4728 Delete d'un user dans un groupe
644 4740 Quel ordinateur a verrouillé un compte
N/A 4778 SESSION_RECONNECTED
N/A 4779 SESSION_DISCONNECTED
N/A 4800 WORKSTATION_LOCKED
* 4801 WORKSTATION_UNLOCKED
N/A 4802 SCREENSAVER_INVOKED
N/A 4803 SCREENSAVER_DISMISSED

Le script powershell suivant permet une recherche dans le journal de sécurité en remontant sur une journée sur le poste local

$Date = (Get-Date).AddDays(-1)
$LoginRecherche = "dupont"
Get-WinEvent Security | Where-Object {$_.TimeCreated -ge $Date -and $_.id -eq 4624 -and $_.Message -like "*$LoginRecherche*"} | Select-Object -first 50 | Select TimeCreated, LogName, Level, LevelDisplayName, Id, ProviderName, Message
Lien vers le fichier : cliquez ici Copier le code

Celui-ci permet d'exécuter une recherche dans le journal de sécurité sur une liste de serveurs donnée :

$Date = (Get-Date).AddDays(-1)
$MesMachines = "machine01,machine02" -split ","
foreach ($UneLigne in $MesMachines){
	Write-host "Traitement de $UneLigne"
	Invoke-command -ScriptBlock { Get-WinEvent Security | Where-Object {$_.TimeCreated -ge $Date -and $_.id -eq 4624 -and $_.Message -like "*loginrecherche*"} | Select-Object -first 50 | Format-List TimeCreated, LogName, Level, LevelDisplayName, Id, ProviderName, Message } -ComputerName $UneLigne
}
Lien vers le fichier : cliquez ici Copier le code

Pages Web

Site WebDescription
Blog.thesysadmins.co.ukActive Directory User Logon Time and Date

2