URL から "-MoIyadayo" を削除してトラックバックを送信してください。
トラックバックは承認後に表示されます。
Windowsのログオン状況を記録する必要がある場合,ドメインコントローラでログオンイベントの監査で「成功の監査」を設定する方法が考えられ ますが,これはあるPCからドメインにログオンした時だけではなく,本当にログオフするまでの間に何度となくログオン,ログオフが記録されます。実際にロ グオン動作をしたとかログオフしたとかを正確に記録することはできません。
グループポリシーの中のユーザーの構成/Windowsの設定/スクリプトにログオンの時と,ログオフの時に実行するスクリプトを設定することができます。そこで,簡単なスクリプトを動かして,ログオンとログオフの記録を取る方法を考えました。
スクリプトの仕様としては,次のようなフィールドを持つCSV形式のレコードをログファイルに追加書き込みすることとします。
| コラム | フィールド内容 | 備考 |
| 1 | イベント | ログオンであるかログオフであるか |
| 2 | 時刻 | 日付と時刻 |
| 3 | コンピュータ名 | ログオン(オフ)したコンピュータ名 |
| 4 | ユーザ名 | ログオン(オフ)したユーザ名 |
| 5 | ドメイン名 | |
| 6 | IPアドレス | 複数ある場合は;で区切ってそのPCの全てのIPを記録 |
3~6のデータをについてはWMIを使って取得し,FileSystemObjectを使ってテキストファイルに出力します。
'ログオン・ログオフイベントを記録するスクリプト
sEvent = "LogOn" 'ログオフ用はここを変更する
sFileName = "\\server01\log\logon" & _
Year(Now) * 100 + Month(Now) & ".log"
On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject")
Set wshNetwork = CreateObject("WScript.Network")
SearchPC = wshNetwork.ComputerName
Set objComputer = GetObject("winmgmts:{impersonationLevel=impersonate}!//" & SearchPC)
Set NICs = objComputer.ExecQuery("select * from Win32_NetworkAdapterConfiguration")
For Each Adapter In NICs
if UCase(Adapter.DNSHostName) = UCase(SearchPC) then
IPAddress = Adapter.IPAddress
IPSubnet = Adapter.IPSubNet
DefaultIPGateway = Adapter.DefaultIPGateway
sIP = ""
sSubNet = ""
sGateway = ""
If IsArray(IPAddress) Then
For I = LBound(IPAddress) To UBound(IPAddress)
sIP = sIP & IPAddress(I) & ";"
sSubNet = sSubNet & IPSubnet(I) & ";"
sGateway = sGateway & DefaultIPGateway(I) & ";"
Next
sMAC = Adapter.MACAddress
sWINS1 = Adapter.WINSPrimaryServer
sWINS2 = Adapter.WINSSecondaryServer
End If
exit for
end if
Next
sMsg = sEvent & "," & _
Now & "," & _
wshNetwork.ComputerName & "," & _
wshNetwork.UserName & "," & _
wshNetwork.UserDomain & "," & _
sIP
set oText = FSO.OpenTextFile(sFileName, 8, true, 0)
oText.WriteLine(sMsg)
oText.Close
このスクリプトをポリシーのログオンスクリプトに設定し,スクリプトの先頭にあるsEventをLogOffに変えたものをログオフスクリプトに設 定します。sFileNameは,Logを記録する共有フォルダのUNCを指定します。この例ではファイル名の指定で月ごとにファイルが変わるようにして あります。