У меня есть экземпляр Windows Server 2008, на котором запущены некоторые конкретные службы, которые поддерживают мое приложение.

В системном журнале событий Windows есть события, сгенерированные для моих служб, но другими приложениями, такими как Service Control Manager, который генерирует событие в системном журнале для моей службы, если он не может запуститься из-за неверного пароля. Я хотел бы захватить и перенаправить их в пользовательский журнал, например, MyApplication.Администратор, который содержит все события, которые я регистрирую из моего сервиса. Этот пользовательский журнал затем отслеживается другим программным обеспечением и предупреждает конкретных людей на основании того, какие события он видит. Я мог контролировать как системный, так и пользовательский журнал, но я бы предпочел, чтобы события логически группировались в моем пользовательском журнале.

Мой вопрос заключается в том, возможно ли это путем создания какого-либо пользовательского правила в журнале событий для копирования определенных событий из системного журнала в MyApplication.Admin Log или другими способами?

1 ответ1

0

Если вы можете контролировать, какой журнал событий должен использовать сервис, вы можете создать свой собственный журнал и написать в нем:

PS C:\Windows\system32> New-EventLog -LogName "MyCustomApplicationLog" -Source "MyCustomApplication"
PS C:\Windows\system32> Get-EventLog -List

  Max(K) Retain OverflowAction        Entries Log
  ------ ------ --------------        ------- ---
  20.480      0 OverwriteAsNeeded      15.518 Application
  20.480      0 OverwriteAsNeeded           0 HardwareEvents
     512      7 OverwriteOlder              0 Internet Explorer
  20.480      0 OverwriteAsNeeded           0 Key Management Service
     512      7 OverwriteOlder             13 Lenovo-Lenovo Patch Utility/Admin
     512      7 OverwriteOlder              2 Lenovo-Message Center Plus/Admin
     512      7 OverwriteOlder              0 MyCustomApplicationLog
     128      0 OverwriteAsNeeded          86 OAlerts
  20.480      0 OverwriteAsNeeded      18.768 Security
  20.480      0 OverwriteAsNeeded      54.974 System
  15.360      0 OverwriteAsNeeded       3.136 Windows PowerShell

Я думаю, что вы можете сделать это с помощью обработчика событий wmi. Пример выложу позже.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .