0

サーバーのイベントログに大きな問題があります。そうですね、まずはセットアップの説明をさせてください。

  • 2台のコンピューターでドメインをセットアップしています
  • 1 台のコンピューターは IIS を実行しており、もう 1 台はワークステーションです。IIS は Win2k3 ワークステーション Win XP を実行しています。
  • IIS コンピューターは、Windows 偽装を使用する Web サイトをホストしており、 MyAppと呼ばれるカスタム ログ ファイルとカスタム イベント ソースMySourceのイベント ログにエントリを記録しようとしています。
  • Domain Users のメンバーである MyUser というドメイン ユーザーがいます。
  • ログインしたユーザーをページに正常に書き出せるため、シングル サインオンは 100% 機能しています。

ワークステーションから IIS ページにアクセスすると、次のいずれかのメッセージが表示されます (最初のメッセージが表示される場合と 2 番目のメッセージが表示される場合があります)。

1) The handle is invalid
2) Cannot open log for source 'MySource'. You may not have write access.

したがって、これを修正するために、次のすべてを試しました。

Everyone ユーザーに C:\windows\system32\config\MyApp.evt ファイルへの FullControl を付与

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog への FullControl を全員のユーザーに付与

キー HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\MyApp\CustomSD に、次の文字列 (A;;0x0002;;;AU) を追加しました (この理由は、ここで読むことができますhttp://fgheysels.blogspot.com /2008/01/cannot-open-log-for-source-0-on-windows.html )

私は今、これを修正する方法について完全に考えていません。他の誰かがこれに遭遇し、何か他のことを試しましたか?

4

2 に答える 2

0

これを解決しようと何時間も試みた後、うまくいく解決策があるようです。

まず、Authenticated Users グループにイベント ログへの書き込みアクセスを許可する必要がありました。続行する前に、レジストリをバックアップすることをお勧めします。

  1. regedit を実行する
  2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog を参照します
  3. 書き込み先の EventLog に一致するサブキーを開きます (したがって、Applicationを選択します)
  4. 右側にレジストリ文字列が表示されます。CustomSDという名前のものを見つけます。
  5. 右クリックして変更します。
  6. 末尾に追加 (A;;0x2;;;AU) (これについては後で説明します)
  7. 変更を保存します (再起動が必要かどうかはわかりません)

これは、認証されたユーザーがアプリケーション イベント ログに書き込むことができることを意味します。もう 1 つ変更を適用する必要がありました。

  1. ドメイン GPO またはローカル コンピューター GPO を開きます
  2. [コンピューターの構成] > [Windows の設定] > [セキュリティの設定] > [ローカル ポリシー] > [ユーザー権利] > [割り当て] > [監査とセキュリティ ログの管理] に移動します。
  3. プロパティウィンドウに移動します
  4. [これらのポリシー設定を定義する] を選択します
  5. 管理者グループを追加する
  6. 認証済みユーザー グループを追加する
  7. 影響を受けるコンピューターを保存して gpupdate /force を実行します。

これが、Web サイトのユーザーがイベント ログに書き込むことを許可する唯一の方法です。

パート 1 のステップ 6 で述べたように、追加した文字列について説明します。詳細については、このページを参照してくださいhttp://support.microsoft.com/kb/323076

于 2010-12-06T17:40:17.303 に答える
0

エラーは、すでに見つかっているように、イベント ソースへの書き込みまたは作成に関連しています。以下を試してみることをお勧めします。

イベント ソースがレジストリに存在するかどうか、またはシステムによって作成された .evt ファイルがウェザリングされているかどうか、またはそれらをマシンに配置したかどうかを示していないため、どの時点でスタックしているかを判断するのは困難です。

また、これが一部の開発者のマシンで機能するかどうかについても言及していません。その場合、レジストリを比較し、必要に応じて手動でキーを作成することもできます。

  1. ログのキーが作成されている場合は、...\Eventlog の下を見てください (MyApp?)。
  2. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog\MyApp を見てください。Sources というキーがあるはずです。ソースはここに表示されますか?

これらのエントリが存在しない場合、エラーは、ユーザーがカスタム ログとソースを作成する権限を持っていないことです。

エラー メッセージでは、ThreadIdentity パラメーターを示す必要があります。これは、これを行うために使用しようとしているユーザー アカウントを示す必要があります。また、HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog へのアクセス許可を開き、この特定のユーザーの "有効なアクセス許可" を照会して、実質的に完全な制御を持っていることを確認することもできます。

システムはここにもいくつかの追加ファイルを作成する必要があるため、.evt ファイルだけでなく、ディレクトリ C:\windows\system32\config\ 全体にフル コントロールを付与してみてください。

最後に、Web サイトへの匿名アクセスを有効にして、マシン/ドメイン管理者ユーザーとして一度実行すると、すべてのキーが作成されてから元に戻すことができます。また、web.config ファイルで偽装を有効にして、Windows ID なしで実行されないようにすることもできます。これらは、正しいキーとファイルが作成されたら、元に戻すことができるはずです。

この後に見つけたものをお知らせください。さらに進めることができます。

于 2010-05-27T14:22:03.523 に答える