> Tech > Tirer sur le déclencheur d’évènements

Tirer sur le déclencheur d’évènements

Tech - Par Mark Minasi - Publié le 24 juin 2010
email

Les journaux d’événements sont d’excellents outils pour suivre à la trace la marche de votre système. Mais ils ont un point faible : il faut les consulter pour savoir si quelque chose d’important s’est produit. Presque tous les administrateurs Windows que je connais ont, un jour ou un autre, passé des heures à tirer au clair un étrange comportement du système pour, finalement, penser à consulter les journaux d’événements, … et y trouver la réponse. Mais supposez que certains genres d’événements soient tellement importants que vous vouliez pouvoir les traiter sans être obligés de consulter les journaux d’événements. Si seulement vous pouviez configurer le système de telle sorte qu’il réagisse immédiatement à certains événements !C’est tout à fait possible avec un déclencheur d’événement. Un tel dispositif dit en substance à votre système : « Quand cet événement se produit, exécuter ce programme ». Supposons que vous soyez sur la piste d’un pirate et que vous vouliez être informés de chaque défaillance de logon. Vous pourriez créer un déclencheur d’événement pour utiliser Net Send chargé de vous délivrer un message pop-up ou pour utiliser un programme comme Blat pour vous envoyer un message e-mail à partir d’une ligne de commande. Mais comment créer un déclencheur d’événement ? En utilisant eventtriggers.exe, qui est incluse dans Windows Server 2003 et Windows XP.

Eventtriggers.exe présente un ensemble de paramètres plutôt complexes. Les paramètres de niveau supérieur sont /create, /delete et /query : ils vous permettent de créer un déclencheur (les déclencheurs restent dans le système jusqu’à ce que vous les supprimiez, plutôt que de se déclencher une fois et de disparaître), de supprimer un déclencheur et de donner la liste des déclencheurs présents dans le système, respectivement. De manière simplifiée, la syntaxe de création d’un déclencheur est la suivante

eventtriggers /create /eid <eventidnumber> /tr <triggername> /tk <actiontotake>

Eventidnumber est le numéro qui indique quel événement spécifique vient de se produire – par exemple, 680 pour un logon de compte, ou 1054 quand les stratégies de groupe ne peuvent pas trouver un DC (domain controller) pour obtenir vos fichiers Stratégies de Groupe. Triggername est un label qui identifie le déclencheur – ce label est nécessaire pour lire les journaux déclencheurs d’événement (« quel déclencheur a fait cela ? ») ou pour supprimer un déclencheur. Actiontotake est la commande que le système devra exécuter quand l’ID de l’événement particulier se produira. Ce peut être une commande ligne de commande ou le nom d’un fichier batch à exécuter.

Avant de creuser davantage la syntaxe d’Eventtriggers – il regorge de paramètres utiles – essayons un exemple. L’event ID 64002 est l’un de ceux qu’il est facile de générer pour notre test. Windows File Protection génère l’event ID 64002 quand vous supprimez l’un des fichiers .exe, .dll, .sys ou .ocx livrés avec l’OS dans le répertoire \system32. Pour démontrer la génération de cet event ID, tapez simplement

del C:\windows\system32\sol.exe

sur une boîte Windows 2003 ou XP. (Si vous avez mis à niveau le système à partir d’une version antérieure de Windows NT, vous utiliserez \winnt au lieu de \windows.) Désormais, quand vous consulterez le journal System, vous pourrez voir l’event ID 64002. Ensuite, quelle action devons-nous ordonner au système ? Si le service Messenger est activé, vous pouvez utiliser la commande Net Send. En supposant que votre username soit jack 123,

net send jack123  Quelque chose est en train de supprimer les fichiers système!

ferait surgir sur votre bureau une boîte grise indiquant Quelque chose est en train de supprimer les fichiers système!

Mais il nous faut autre chose : un contexte de sécurité. Par défaut, Eventtriggers exécutera la commande Net Send (ou toute autre commande) sous le compte System, mais System ne peut pas exécuter certaines commandes, y compris Net Send. Donc, nous pouvons ajouter deux autres paramètres – /ru et /rp – pour donner à Eventtriggers un compte utilisateur et un mot de passe qu’il utilisera pour exécuter Net Send. Si votre compte utilisateur est jack123 et si votre mot de passe est swordfish, vous pourriez utiliser la commande suivante pour créer un nouveau déclencheur d’événement nommé sysalert :

eventtriggers /create /eid 64002 /tr sysalert
/tk "net send jack123 Something’s deleting system files!"
/ru jack123 /rp swordfish

 Bien entendu, cette commande vous informe simplement du fait que la suppression a lieu. Il vous restera à trouver le malfaisant pour l’arrêter.

Dans l’espace qui me reste, je vous propose quelques autres commandes Eventtriggers utiles. Pour lister vos déclencheurs d’événements, tapez

eventtriggers /query /v

Pour les supprimer tous, tapez

eventtriggers /delete /tid *

Le mois prochain, nous verrons d’autres commandes Eventtriggers.

Téléchargez gratuitement cette ressource

Le Guide d’Orchestration du Parcours client

Le Guide d’Orchestration du Parcours client

Au-delà de la clarification des nouveaux concepts de gestion du parcours client, ce guide vous permettra de définir, créer et mettre œuvre une orchestration complète articulée autour des trois volets essentiels au succès de l’expérience client et de l’entreprise.

Tech - Par Mark Minasi - Publié le 24 juin 2010