1

私の環境はClassicASPです。イベントをイベントログに記録したい(どちらでもかまいません)。クイックテスト(以下のコード)を作成し、「許可が拒否されました」を取得し続けます。

const SUCCESS = 0
const ERROR = 1
const WARNING = 2
const INFORMATION = 4
const AUDIT_SUCCESS = 8
const AUDIT_FAILURE = 16

dim WshShell
set WshShell = Server.CreateObject("WScript.Shell")
wshshell.Logevent WARNING, "Test Event Log by Windows Script Host!"
set wshshell=nothing
Response.write "Event Logged Successfully by Windows Script Host!"

私はこの問題の解決策をオンラインで検索し、ある種の答えを見つけました。残念ながら、彼らの解決策は機能しません。彼らが言うには:

次のレジストリキーを1ではなく0に設定してから、コンピュータを再起動して変更を有効にします。HKLM \ System \ CurrentControlSet \ Services \ EventLog \アプリケーション名:RestrictGuestAccessタイプ:REG_DWORD注:これにより、すべてのゲストアカウントがアプリケーションイベントログに書き込むことができます。

これを行うためのより良い方法はありますか?それとも本当の解決策ですか?

基本的に、私は重大なエラーをいくつかのWindowsイベントログに記録しようとしています。これにより、監視システムがそれらを消費できるようになります。

私のOSは、IIS6.0を使用するWindowsServer2003です。

実際のコードは、IIS7.5を搭載したWindowsServer2008R2で実行されます。

OSまたはIISWebサーバーでさえ重要ですか?

4

1 に答える 1

1

クラシックASPおよびCOMオブジェクトを使用して行為を行うことを気にしないでください。むしろ、SQLストアドプロシージャ(2005以降)を作成し、xp_logeventを使用してイベントログに記録します。

これを行う方法は、 http://msdn.microsoft.com/en-us/library/ms186244.aspxで確認できます。

このアプローチを実装すると、すべてが機能し、20分のコーディングの後に立ち去りました。

于 2013-03-21T15:44:07.723 に答える