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
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
Pages Web
| Site Web | Description |
|---|---|
| Blog.thesysadmins.co.uk | Active Directory User Logon Time and Date |
Article(s) suivant(s)