2009-01-30 7 views

Répondre

12

Dans l'Observateur d'événements (Panneau de configuration | Outils d'administration | Observateur d'événements) de l'onglet Système, le gestionnaire de contrôle des services consigne les événements qui ont démarré et arrêté chaque événement. Je viens de le tester moi-même et j'ai vu les résultats. Cela me conduit à deux choses:

  1. Vous pouvez être en mesure d'interroger ou de brancher ces événements du Service Control Manager comme ils se produisent, ou
  2. Vous pouvez certainement juste interroger « Système » de l'Observateur d'événements pour regarder pour ces événements pour votre service.

Espérons que cela vous mène à votre solution.

+0

Oui! C'est ce que je cherchais, j'ai juste besoin d'un moyen de savoir qui a arrêté le service et il est là - dans le journal des événements système – HitLikeAHammer

+9

'Dans l'Observateur d'événements (Panneau de configuration | Outils d'administration | Observateur d'événements) sur le système Je ne vois rien de ce genre: tout ce que je vois est un message du type "Le service Workstation est entré dans l'état de fonctionnement", mais rien à propos du processus/service qui a provoqué son démarrage, même dans les détails.La chose la plus proche d'une cause est le champ * Source * qui autre que Windows Update, est à peu près toujours le contrôleur de service (bien duh) qui ne dit rien sur qui/quoi a demandé au SC d'exécuter le service. – Synetech

+1

C'est vrai, je viens de confirmer que ma réponse de plus de quatre ans ne fonctionne plus de la même manière.Il semble que le Gestionnaire de contrôle des services ne consigne plus ses propres événements de démarrage et d'arrêt, ou du moins pas au même endroit. (Je viens de réessayer dans Windows 8. J'ai peut-être été sur Windows XP lorsque j'ai écrit cette autre réponse, mais je ne suis pas sûr.) – JMD

0

Il n'y a probablement pas de chemin. L'un des moyens .NET normaux que vous obtenez chez l'utilisateur de l'environnement va renvoyer l'utilisateur dont les informations d'identification sont exécutées par le service (qui sera généralement SYSTEM, LOCAL SERVICE, NETWORK SERVICE, etc.).

Comment je ferais probablement interroger le système pour voir si un utilisateur est connecté, et supposer que l'utilisateur l'a fait. Bien sûr, cela réduit les services qui sont arrêtés par le système pour une raison quelconque (probablement votre service ne le serait pas), et ne peut que vous aider à le réduire si plus d'un utilisateur est connecté en même temps (mais alors, vous pourriez toujours connecter les deux).

0
  1. Il suffit d'ouvrir l'Observateur d'événements (menu Démarrer -> Rechercher "événement" Observateur d'événements viendra, l'ouvrir)
  2. Expansion 'de Windows Log' sur Observateur d'événements menu de gauche.
  3. Cliquez sur Application. (Il montrera votre erreur d'application avec la description dans l'onglet « Général ».
  4. essayer à nouveau pour démarrer votre service et de l'Observateur d'événements voir ce qui est la cause exacte pour arrêter brièvement dans l'onglet « Général ».
Questions connexes