Quantcast
Channel: NETWORK ENGINEER BLOG
Viewing all articles
Browse latest Browse all 266

GPO でログオフ時間を記録する方法について

$
0
0

ドメイン環境化において、ユーザが端末からログオフした時間を、AD サーバーのイベントビューワーへ出力方法についてご紹介します。

ログオフスクリプトの作成

ログオフスクリプトこちらを参考にさせて頂きました。
“\\AD01”は、スクリプトを配置する DC 名を指定します。

OnErrorResumeNext' EVENTLOG_DC_NAME: イベントログを記録させたいDC名をUNCで指定Const EVENTLOG_DC_NAME ="\\AD01"' SCRIPT_PRE_MESSAGE: イベントログに書き込むメッセージの最初の文言Const SCRIPT_PRE_MESSAGE ="[端末からログオフしました。] "' WshShellオブジェクトとADSIオブジェクトを生成、取得Set objShell = WScript.CreateObject("WScript.Shell")Set objADSystemInfo = WScript.CreateObject("ADSystemInfo")' ADのユーザーオブジェクトを取得Set objUser =GetObject("LDAP://"& objADSystemInfo.UserName)' ADのユーザーオブジェクトのGroupsプロパティから、所属グループ名を取得
strGroupNames ="MemberOf: CN=Domain Users"ForEach objGroup In objUser.Groups
    strGroupNames = strGroupNames &","& objGroup.NameNext' EventCreateコマンドでイベントログを書き込む。
objShell.Run "EVENTCREATE /S "& EVENTLOG_DC_NAME &" /T INFORMATION /L APPLICATION /ID 8 /D "&""""& SCRIPT_PRE_MESSAGE & strGroupNames &"""",7,True'事後処理Set objShell =NothingSet objADSystemInfo =NothingSet objUser =Nothing

スクリプトの配置

スクリプトは以下のパスに配置します。※任意のパスでは実行されないので注意してください。

\\DC名\sysvol\ドメイン名\scrpits\

本例では、以下のパスに配置しています。

\\ad01\sysvol\example.com\scripts

GPOの設定

GPOを設定します。本例では「DaaS Users」というユーザ OU に、「Audit」と名前のポリシーをリンクしています。
f:id:FriendsNow:20181104150241p:plain

「Audit」ポリシーで「ログオフスクリプト」を指定します。
f:id:FriendsNow:20181104150357p:plain

GPOを更新します。

gpupdate /force

アクセス権の設定

通常、イベントビューワーへの書き込みは Domain_Admins グループに属するアカウントでのみ許可されています。一般ユーザーで書き込みができるようDC 上で、以下のコマンドを実行します。

wevtutil sl application /ca:O:BAG:SYD:(A;;0xf0007;;;SY)(A;;0x7;;;BA)(A;;0x7;;;SO)(A;;0x3;;;IU)(A;;0x3;;;SU)(A;;0x3;;;S-1-5-3)(A;;0x3;;;S-1-5-33)(A;;0x1;;;S-1-5-32-573)(A;;0x3;;;DU)

イベントビューワーの出力結果

ドメイン環境化の端末からユーザーがログオフすると、AD のイベントビューワーの「WIndowsログ」「Application」でログオフ時間を確認できます。
f:id:FriendsNow:20181104151059p:plain

以上


Viewing all articles
Browse latest Browse all 266

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>