2013-10-03 12 views
5

私はカスタムイベントログに記録するアプリケーションを開発中です。最近、アプリケーションの名称が変更され、イベントログの名前が変更されました(「CompanyA Events」から「CompanyB Events」に変更されました)。イベントログソース(「Subsystem1」、「Subsystem2」など)の名前は変更されませんでした。アプリケーションインストーラは、古いログエントリをレジストリから削除し、新しいログエントリを書き出します。再起動せずにWindowsイベントログサービスを再初期化する

私は気づいた、いくつかの環境では(2008 R2にはたくさん起こります)、ロギングは停止し、イベントは書き込まれません。場合によっては、実際にイベントが削除されるはずのOLD evtxファイルに書き込まれることがあります。以下の修正問題:

後者のアクションはアクセスが拒否されたので、私は管理者ですにもかかわらず、SCMを使用して達成することはできません

  • リブートマシン
  • リスタートの「Windowsイベントログ」サービス。しかし、プロセスを終了すると、Windowsイベントログサービスが開始され、その後にイベントログが正常に機能します。

    質問:プロセスを強制終了したり、マシンを再起動することなくイベントログサービスを再初期化するにはどうすればよいですか?何らかの文書化された、または文書化されていないコールがありますか?イベントログサービスに通知して、設定を再読み込みする必要がありますか?念のため

+0

タスクスケジューラサービスは、イベントログサービスを再起動できないために依存します。 – vijayst

+0

@Vijay Accesが拒否されたのは、イベントログサービスが再起動できないためです。 – galets

+0

実際には@Vijayが正しいです。アクセスが拒否されたというメッセージは、「タスクスケジューラーサービス」を再開できないためです。サービスコンソールを試すと、「タスクスケジューラーサービス」のすべてのアクションが無効になります。私はあなたが何かを見つけた場合、同じ問題を抱えています。ありがとう – Christos

答えて

6

、これは古い質問ですと:私もこの問題を抱えていた、とChristo's commentは、ソリューションのパスに私を入れている:psexec -s net stop scheduleを使用して

  • を(ので、私はタスクスケジューラを停止システムアカウントでのサービス)
  • 私はイベントログサービスを再開できました。
  • 再起動後、もう一度psexec -s net start scheduleを使用しました。行く道。

Microsoftからpsexecをダウンロードする必要があります。

+1

私のシステム上のタスクスケジューラーサービスは、 'scheduler'ではなく' schedule'という名前です。そうでなければ、あなたのソリューションは魅力的に機能しました! – lazlev

+0

これは間違いありません。サービスの名前は「スケジュール」で、表示名は「タスクスケジューラ」です。私はある時点でそれを混ぜた...私は将来の参考文献のための答えを編集しました、ありがとう! – curropar

関連する問題