- PR -

ログオフスクリプトによるイベントログへの書込みについて

1
投稿者投稿内容
か〜たん
会議室デビュー日: 2006/06/30
投稿数: 3
投稿日時: 2006-06-30 12:43
ドメイン環境下でログオフスクリプト(VBScript)を利用し、
イベントログにログオフの記録を書込みたいと考えています。

google等で検索したサイトの情報を参考に…
−−−−−−−−−−−−−−−−−−−−−−−
Const AUDIT_SUCCESS = 8
Set objShell = WScript.CreateObject("WScript.Shell")
Set objNetwork = WScript.CreateObject("WScript.Network")
Set objADSys = CreateObject("ADSystemInfo")
strMsg = "ログオフ ユーザー名: " & objNetwork.UserName & " ワークステーション名: " & objNetWork.ComputerName & " ドメイン: " & objNetwork.UserDomain & " サーバー: " & objADSys.GetAnyDCName
objShell.LogEvent AUDIT_SUCCESS, strMsg, objADSys.GetAnyDCName
−−−−−−−−−−−−−−−−−−−−−−−

↑というようなスクリプトを作成しました。

クライアントマシンからログオンすると…
「エラー:書き込みできません。
コード:800A0046」
というメッセージが表示され、イベントログの書込みに
失敗してしまいます。

サーバマシンでログオンすると、正常に動作します。

このエラーについて検索すると沢山の情報が見つかりますが、
適切な情報がなかなか無く、困っています。
どなたか、教えていただけませんでしょうか。
ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2006-06-30 13:09
こんにちは。

引用:

objShell.LogEvent AUDIT_SUCCESS, strMsg, objADSys.GetAnyDCName


LogEvent メソッドの第3引数でドメインコントローラを指定していますが、ログオフスクリプトを実行するユーザにドメインコントローラのイベントログに書き込む権限が無いのでエラーが発生しているのだと思います。
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2006-06-30 13:19
脅威とその対策 : Windows Server 2003 と Windows XP のセキュリティ設定第 6 章 ‐ イベント ログ イベント ログへのアクセスの委任

Registry に SDDL で書き込む技術が必要です。
か〜たん
会議室デビュー日: 2006/06/30
投稿数: 3
投稿日時: 2006-06-30 16:23
ueさん、ちゃっぴさん、早々にご返答、ありがとうございます。

ドメインコントローラのイベントログに書き込む権限についてですが、
サーバマシン上で同じユーザでログオンすると正常に書込めますので、
ユーザ自体の権限については問題ないかと思われます。

ローカルまたはグループポリシーでイベントログのセキュリティの
設定も変更してみましたが(SDDLによるレジストリの変更も含む)、
改善されませんでした。
か〜たん
会議室デビュー日: 2006/06/30
投稿数: 3
投稿日時: 2006-07-11 10:52
動作しました!!
ueさん、ちゃっぴさん、ありがとうございました。

Windows Server 2003 のイベント ログのセキュリティをローカルまたはグループ ポリシーで設定する方法の「ローカルでイベント ログのセキュリティを構成する」に記述されている方法を、再度試しました。

アプリケーションログのデフォルトのSDDL文字列に対し、(A;;0x3;;;AU) を加えて動作させてみたところ
イベントログに書き込みできました。
1

スキルアップ/キャリアアップ(JOB@IT)