0

私は、Windowsセキュリティログにエントリを書き込む任務を負っています。プロジェクト全体はWin32C++コードです。私はすでに(さまざまなオンラインリソースの助けを借りて)ReportEvent()呼び出しを実行するための登録、登録解除、およびコードを処理するロギングクラスを作成しました。また、プロジェクトのどこにいるかを確認するのに役立つ場合は、イベントログのmc.exeとrc.exeの手順を実行しました。

私の質問はマルチパートです:

  1. Windows XPのセキュリティイベントログへの入力で、これがWindowsで許可されていないと信じている人がいることに気づきました。その他(SECURITYイベントにログを書き込む方法C#でログインしますか?)は、そうでないことを意味します。可能かどうか?
  2. 可能であれば、セキュリティログに書き込む方法。RegisterEventSource()を呼び出すときに、ソース名として「Security」を指定するのと同じくらい簡単ですか?
  3. 登録抹消に関しては、いつそれが発生する必要がありますか?アプリがアンインストールされると?アプリが閉じたら?ログエントリが書き込まれるのはいつですか。
  4. ログエントリを検索するにはどうすればよいですか?Windowsイベントビューアを確認しましたが、システムコールからの適切な戻り値がすべて表示されているにもかかわらず、テストアプリで追加したエントリが表示されません。RegisterEventSource()を呼び出したときに、ソース名「yarp」で指定したイベントをどこで検索しますか?
4

1 に答える 1

1

とりあえず、最初の質問だけを扱います。それに対する答えはおそらく残りの部分を無関係にするからです。

ローカルセキュリティ機関(lsass.exe)のみがセキュリティログに書き込むことができます。これは、特権を取得しようとしている他の何かが失敗するという問題ではありません。特権を要求する方法が他にないという問題です(これは仕様によるものです)。

そこから、他の質問に対する唯一の答えは「ごめんなさい!」です。

于 2012-11-04T00:54:28.097 に答える