私はカスタムイベントログに記録するアプリケーションを開発中です。最近、アプリケーションの名称が変更され、イベントログの名前が変更されました(「CompanyA Events」から「CompanyB Events」に変更されました)。イベントログソース(「Subsystem1」、「Subsystem2」など)の名前は変更されませんでした。アプリケーションインストーラは、古いログエントリをレジストリから削除し、新しいログエントリを書き出します。再起動せずにWindowsイベントログサービスを再初期化する
私は気づいた、いくつかの環境では(2008 R2にはたくさん起こります)、ロギングは停止し、イベントは書き込まれません。場合によっては、実際にイベントが削除されるはずのOLD evtxファイルに書き込まれることがあります。以下の修正問題:
後者のアクションはアクセスが拒否されたので、私は管理者ですにもかかわらず、SCMを使用して達成することはできません
- リブートマシン
- リスタートの「Windowsイベントログ」サービス。しかし、プロセスを終了すると、Windowsイベントログサービスが開始され、その後にイベントログが正常に機能します。
質問:プロセスを強制終了したり、マシンを再起動することなくイベントログサービスを再初期化するにはどうすればよいですか?何らかの文書化された、または文書化されていないコールがありますか?イベントログサービスに通知して、設定を再読み込みする必要がありますか?念のため
タスクスケジューラサービスは、イベントログサービスを再起動できないために依存します。 – vijayst
@Vijay Accesが拒否されたのは、イベントログサービスが再起動できないためです。 – galets
実際には@Vijayが正しいです。アクセスが拒否されたというメッセージは、「タスクスケジューラーサービス」を再開できないためです。サービスコンソールを試すと、「タスクスケジューラーサービス」のすべてのアクションが無効になります。私はあなたが何かを見つけた場合、同じ問題を抱えています。ありがとう – Christos