web-dev-qa-db-fra.com

Comment utiliser l'observateur d'événements pour confirmer les heures de connexion filtrée par utilisateur?

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?

enter image description here

15
5arx

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:

  • Événement 4647 - il s’agit du bouton Déconnexion, Redémarrage, Arrêt. Le redémarrage de Windows sur votre ordinateur déclenche parfois cet événement :(
  • Événement 4648: un processus (incluant l'écran de connexion) utilise vos informations d'identification explicites, plutôt qu'un mot-clé, pour vous connecter. Cela inclut la commande Runas et, souvent, des programmes de sauvegarde.
  • Event 4800 - Lorsque votre poste de travail est verrouillé, vous pouvez appuyer sur WIN + L.
  • Événement 4801 - Lorsque votre poste de travail est déverrouillé

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.

10
surfasb

Solution simple:

  1. Ouvrez l'événement ou les événements pour lesquels vous souhaitez créer une vue personnalisée.
  2. Déplacez la fenêtre quelque part qui sera visible (un côté de l'écran, deuxième moniteur ou imprimez-le)
  3. Créez une nouvelle vue et définissez-la à l'aide des paramètres d'événement ouverts (par exemple: utilisateur, mots-clés, ordinateur, etc.). Dans ce cas, l'utilisateur était N/A. Je viens d'utiliser l'ID d'ordinateur et l'événement (4648, pas 4624).
  4. Après avoir modifié les paramètres si nécessaire, sauvegardez.

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.

1
applephx

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>
0
Janis S.

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é.

0
celicni