解決済み

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

  • 困ってます
  • 質問No.9606105
  • 閲覧数157
  • ありがとう数5
  • 気になる数0
  • 回答数2
  • コメント数1

お礼率 75% (612/812)

【環境】Windows 10 Enterprise 2016 LTSB

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

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

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

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

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

  • 回答No.2

ベストアンサー率 100% (1/1)

個々人で確認するのであれば、ログオンスクリプトなどでしょうか。
管理部門で全員のものを把握となると、ドメイン参加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版も登場したとのことですから、まずは、お試しをしてみてはいかがでしょうか。
お礼コメント
Engineer480907

お礼率 75% (612/812)

ありがとうございます。

以下、イベントビューアーからログオン、ログオフのみを抽出する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

その他の回答 (全1件)

  • 回答No.1

ベストアンサー率 23% (740/3102)

他カテゴリのカテゴリマスター
ログオンスクリプトとログオフスクリプトにログを書き出すようにしたらいかがでしょう?
お礼コメント
Engineer480907

お礼率 75% (612/812)

ありがとうございます。

「イベントビューアー」しか方法がないとのことであれば、直接イベントビューアーのログを見てもらおうと思っていましたが、アドバイスをいただいたのでファイルではないですが、画面に出力するVBSを作成してみました。
投稿日時 - 2019-04-12 22:48:54
結果を報告する
    • 2019-04-15 20:19:01
    • コメントNo.1

    ログオンスクリプトをVBScriptと勘違いしていました。ログオンスクリプトですが、以前、ネットワークドライブの割り当てでログオンスクリプトを使用していましたが、割り当てに失敗する ...続きを読む

関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ