こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

パソコンのログから勤務時間確認について

【環境】Windows 10 Enterprise 2016 LTSB

【ご教示いただきたい点】

ユーザーより毎日の自分の勤務時間を把握するため、パソコンから勤務を開始した時間、勤務を終了した時間を確認することができないかという質問をいただいております。
環境は、ActiveDirectoryドメイン環境になります。

「Windows管理ツール」-「イベントビューアー」-「Windowsログ」-「システム」にある以下のログが、参考になると思いますが、他に方法はございますでしょうか。

ソース:Winlogon イベントID:7001 タスクのカテゴリ:(1001) カスタマーエクスペリエンス向上プログラムのユーザー ログオン通知
ソース:Winlogon イベントID:7002 タスクのカテゴリ:(1001) カスタマーエクスペリエンス向上プログラムのユーザー ログオフ通知

投稿日時 - 2019-04-12 20:28:36

QNo.9606105

困ってます

質問者が選んだベストアンサー

個々人で確認するのであれば、ログオンスクリプトなどでしょうか。
管理部門で全員のものを把握となると、ドメイン参加PC横断でログを集める必要がありそうです。
NetRAPというリモート調査のソフトウェアがあります。
[ログイン関係のエビデンスのLoginProf_TABLE] URLは以下の通りです。
https://www.comtak.com/nr_home_nwInvestigation.aspx


Windows専用ですが、ADドメイン環境では以下の項目がセグメント単位で取得できます。

NW構成図、ハードウェア構成、OS詳細、IPアドレス(IPv4/IPv6),macアドレス、ネットワークプリンタ詳細、インストールソフトウェア構成、ログイン情報、他、

WorkGroup構成では、NW構成図、OS名、IPアドレス,macアドレス、ネットワークプリンタ詳細

全部がオールインワンになっています。

リモートでの調査ですから、一台のデバイスにインストールしてすぐ調査が可能です。ただ、調査ボタンをおすだけです。
どちらの構成でも、調査するデバイスのWindowsのuserアカウントが持つ権限に基づいて調査の許可、不許可が決定されますので安心のツールです。

最近、機能確認用FREE版も登場したとのことですから、まずは、お試しをしてみてはいかがでしょうか。

参考URL:https://www.comtak.com

投稿日時 - 2019-04-12 21:23:56

お礼

ありがとうございます。

以下、イベントビューアーからログオン、ログオフのみを抽出するVBSを作成してみました。

以前にLanScopeCatを使用しており、現在はSKYSEAを使用しているので、管理者であれば、ログオン/ログオフ時間が取得できることは存じています。

今回、1名の社員が要望をしていたため、その人が自分のパソコンへのログオン/ログオフの時間がわかれば良さそうです。
--
' 取得ログ 日付設定
Const CONVERT_TO_LOCAL_TIME = True
Set dtmStartDate = CreateObject("WbemScripting.SWbemDateTime")
Set dtmEndDate = CreateObject("WbemScripting.SWbemDateTime")
DateToCheck = Date
dtmStartDate.SetVarDate DateToCheck - 7, CONVERT_TO_LOCAL_TIME
dtmEndDate.SetVarDate DateToCheck + 1, CONVERT_TO_LOCAL_TIME

' イベントログの取得 ログオンログとログオフのログを取得
' ログオン 7001
' ログオフ 7002
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colEvents = objWMIService.ExecQuery _
("Select * from Win32_NTLogEvent Where TimeWritten >= '" _
& dtmStartDate & "' and TimeWritten < '" _
& dtmEndDate & "' AND (EventCode = 7001 OR EventCode = 7002)")

' ログ生成
Dim msg
For each objEvent in colEvents

' イベントログ日時 整形
Set tempDate = CreateObject("WbemScripting.SWbemDateTime")
tempDate.Value = objEvent.TimeWritten

If objEvent.EventCode = 7001 then
msg = msg & "ログオン " & tempDate.GetVarDate(True) & vbCrLf
ElseIf objEvent.EventCode = 7002 then
msg = msg & "ログオフ " & tempDate.GetVarDate(True) & vbCrLf
End If
Next

' ログ出力
Wscript.Echo msg
--

投稿日時 - 2019-04-12 22:44:47

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

ログオンスクリプトとログオフスクリプトにログを書き出すようにしたらいかがでしょう?

投稿日時 - 2019-04-12 21:03:32

お礼

ありがとうございます。

「イベントビューアー」しか方法がないとのことであれば、直接イベントビューアーのログを見てもらおうと思っていましたが、アドバイスをいただいたのでファイルではないですが、画面に出力するVBSを作成してみました。

投稿日時 - 2019-04-12 22:48:54