Je dois enregistrer mes heures de début et de fin au travail. Parfois, j'oublie de le faire et j'ai eu une idée brillante que la vérification du journal des événements de sécurité me permettrait de vérifier mon heure de manière rétrospective.
Malheureusement, les journaux sont beaucoup plus volumineux que je ne le pensais et cela prend un certain temps, même pour s’afficher dans Event Viewer. En outre, j'ai essayé de filtrer les journaux par date et ID utilisateur, mais jusqu'à présent, cela n'a donné aucun résultat.
En supposant que mon idée soit réalisable, quelqu'un peut-il expliquer ce que je devrais faire pour récupérer les informations dont j'ai besoin?
METTRE À JOUR:
J'ai suivi les instructions de @surfasb et je suis arrivé au point où je ne peux voir que les connexions, mais certaines d'entre elles sont des connexions au niveau du système (c'est-à-dire non humaines). J'aimerais voir uniquement mes identifiants "physiques" (il n'y aurait que deux ou trois événements de ce type en semaine) et pas tous les autres éléments.
J'ai essayé de mettre mon nom d'utilisateur Windows dans le champ, comme indiqué ci-dessous, en utilisant à la fois domain\username
et juste username
, mais cela ne fait que filtrer tout. Pouvez-vous aider?
La configuration par défaut le rend plutôt compliqué. En effet, Windows effectue également le suivi chaque fois que vous devez vous connecter à des ordinateurs du réseau. Il surveille également chaque fois que votre compte d'ordinateur, et non le compte d'utilisateur, crée une session de connexion.
Vous devez utiliser l'option de connexion au compte d'audit et non l'option de connexion à l'audit . .
Les événements que vous recherchez porteront le nom de domaine complet de votre compte. Par exemple, si vous ne travaillez pas dans un domaine, le texte de recherche que vous recherchez est nom_ordinateur/nom_compte.
modifier
Une autre idée est de créer des scripts de connexion et de déconnexion. Selon votre édition de Windows 7, vous pouvez utiliser gpedit.msc
pour faire apparaître la console de stratégie de groupe.
Ensuite, vous aurez juste besoin d'un fichier de commandes contenant la commande logevent "My login/logoff event" -e 666
. Cet événement apparaîtra dans le journal d'application
modifier
Ce sera plus facile si vous n'êtes pas sur un domaine. Si vous allez sous Sécurité locale/Options locales/Options de sécurité, recherchez l’option "Forcer l’audit ...". J'ai oublié le nom de celui-ci. Mais le désactiver. Cela rendra les journaux de sécurité moins détaillés, puisqu'un utilisateur qui se connecte à la console partage parfois le même ID d'événement. Certains ID d'événements que vous souhaitez rechercher:
En règle générale, vous pouvez utiliser les événements 4647 et 4648. Malheureusement, il n’existe pas de méthode d’incendie certaine, car il se produit des milliers de choses lorsque vous vous connectez et fermez la session sur votre ordinateur.
Pour que cela vaille la peine, au travail, nous recherchons le script de connexion à déclencher et à la fermeture de session, il existe deux programmes ainsi qu'un événement de synchronisation que nous recherchons comme événements à coup sûr.
Solution simple:
Cette méthode est utile pour tout événement ou ensemble d'événements que vous souhaitez enregistrer. Il ne nécessite pas de tâches complexes ni de logiciel tiers.
Essayez d’utiliser l’onglet de filtre XML et spécifiez les éléments suivants:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[EventID=4672]
and EventData[Data[@Name='SubjectUserName'] = 'your_username']]
</Select>
</Query>
</QueryList>
J'ai eu le même problème et j'ai réussi à le résoudre en procédant comme suit:
A: Installez MyEventViewer (logiciel gratuit) et ouvrez la liste des événements de ce programme.
Malheureusement, je n'ai pas trouvé comment filtrer les événements par description (et la description correspond à l'emplacement où est enregistré le nom de connexion) dans MyEventViewer, mais au moins, il affiche la description dans la table principale.
B: Exporter cette table en log1.txt
C: Utilisez un programme de recherche de texte avancé pour extraire les temps de connexion d'un utilisateur donné.
J'ai utilisé grep.
C'est le format des événements exportés:
Type de journal: Sécurité
Type d'événement: Succès de l'audit
Heure: 10.12.2012 18:33:24
Numéro d'événement: 680
Nom d'utilisateur: SYSTEM
Ordinateur: AAAA
Description de l'événement: tentative de connexion par: Microsoft_AUTHENTICATION_PACKAGE_V1_0 Compte de connexion: poste de travail source XXX: YYY Code d'erreur: 0x0
===============================================
===============================================
Commencez par extraire toutes les tentatives de connexion effectuées par l'utilisateur XXX.
$ grep -B 4 "Logon attempt by: Microsoft_AUTHENTICATION_PACKAGE_V1_0 Logon account: XXX" log1.txt > log2.txt
Ceci filtrera les tentatives d'ouverture de session de l'utilisateur XXX et l'imprimera dans log2.txt. L'option -B 4 grep est nécessaire car les informations recherchées (durée de la connexion) sont stockées 4 lignes au-dessus de la ligne contenant le motif recherché (nom d'utilisateur).
D: Extrait les temps de connexion de log2.txt
$ grep "Time" log2.txt > log3.txt
Maintenant log3.txt liste tous les temps de connexion pour un utilisateur donné:
Heure: 10.12.2012 14:12:32
Heure: 7.12.2012 16:20:46
Heure: 5.12.2012 19:22:45
Heure: 5.12.2012 18:57:55
Une solution plus simple existe probablement, mais je n’ai pas pu la trouver. C’est donc pour moi que cela a fonctionné.