勤怠の打刻と実際の働き方がずれていないかを確かめるために、PCのログオン・ログオフ時刻を使う会社が増えています。Windowsには標準でその記録が残っているので、ツールを入れなくても取り出せます。
この記事では、ログから日ごとの最初と最後の時刻を一覧にする手順と、勤怠と突き合わせるときの注意点を扱います。あわせて、多くの解説で抜けている「そのログが本当に本人のものか」という問題も取り上げます。
PCログが勤怠の確認に使われる理由
PCログは、国のガイドラインでも始業・終業の確認方法の一つとされています。
- 厚生労働省のガイドライン — タイムカードやICカードと並び、パソコンの使用時間の記録を確認方法に挙げている。自己申告と大きな差があれば、実態を調べて補正することを求めている
- 労働安全衛生法 — 管理監督者を含めた労働時間の状況の把握を義務づけ、方法の例にパソコンの使用時間の記録を含めている
使い方の基本
勤怠の確認に使うイベント
見るイベントは数種類だけです。ログオン・ログオフだけなら、既定で記録されるシステムログの7001と7002で足ります。
| イベントID | ログ | 意味 |
|---|---|---|
| 7001 | システム | ユーザーのログオン(Winlogon)。既定で記録される |
| 7002 | システム | ユーザーのログオフ(Winlogon)。既定で記録される |
| 6005 / 6006 | システム | PCの起動 / 正常なシャットダウン |
| 42 / 1 | システム | スリープに入った / スリープから復帰した(発行元はKernel-Power / Power-Troubleshooter) |
| 4800 / 4801 | セキュリティ | 画面ロック / ロック解除。監査の設定を有効にしないと記録されない |
セキュリティログの4624(ログオン成功)でも時刻は取れますが、サービスやネットワーク越しのアクセスも大量に記録されるため、勤怠の確認には向きません。個々のイベントの見方はWindowsのログイン履歴を確認する方法で扱っています。
手順1:イベントビューアーでPCの使用履歴を確認する
数日分を確かめるだけなら、画面操作で十分です。
イベントビューアーでの確認
- 1
開く
スタートを右クリック→イベント ビューアー
- 2
選ぶ
Windows ログ→システム
- 3
絞り込む
現在のログをフィルター→ID「7001,7002」
- 4
読む
最初の7001と最後の7002の日時
手順2:日ごとの最初と最後の時刻を一覧にする(PowerShell)
PowerShellを管理者として実行し、次を貼り付けます。過去31日間の、日ごとの最初のログオンと最後のログオフを並べます。
Get-WinEvent -FilterHashtable @{LogName='System'; Id=7001,7002; StartTime=(Get-Date).AddDays(-31)} |
Group-Object { $_.TimeCreated.ToString('yyyy-MM-dd') } |
ForEach-Object {
$on = $_.Group | Where-Object Id -eq 7001 | Sort-Object TimeCreated | Select-Object -First 1
$off = $_.Group | Where-Object Id -eq 7002 | Sort-Object TimeCreated | Select-Object -Last 1
[pscustomobject]@{ 日付 = $_.Name; 最初のログオン = $on.TimeCreated; 最後のログオフ = $off.TimeCreated }
} | Sort-Object 日付Excelで勤怠と並べるなら、末尾に | Export-Csv -Path pclog.csv -NoTypeInformation -Encoding UTF8 を付けてCSVに書き出します。
「最後のログオフ」が空の日は、ログオフせずにシャットダウンやスリープをした日です。6006(シャットダウン)や42(スリープ)の時刻で補います。
手順3:勤怠の記録と突き合わせる
一覧ができたら、全部を見比べる必要はありません。次の3点に絞ります。
- 差が出る日だけを見る — 数分の差は自然に出ます。30分以上など社内で基準を決め、超えた日だけ本人に確認します。
- 席を外していた時間を区切る — 長いスリープや画面ロックの間は、作業していなかった可能性があります。画面ロック(4800・4801)を記録するには、グループポリシーの「監査ポリシーの詳細な構成」で「その他のログオン/ログオフ イベントの監査」を有効にします。
- 記録が消える前に取る — 既定の容量では古い記録から消えます。保存期間を先に延ばしておきます(イベントログの保存期間を確認・変更する手順)。
ログが本人と一致しない4つの場合
ここまでの手順は、1台を1人が自分のIDで使っていることが前提です。
ログに残るのはIDだけ
1. 共用PCを部署のIDで使っている
1つのIDを全員で使うと、全員分の時刻がそのIDに混ざります。IDを分けるか、使う人ごとにログインし直します(共用PCの認証設計)。
2. パスワードを教え合っている
「代わりにログインしておいて」があると、出社していない日にも本人のIDで記録が残ります。判断を最も誤りやすいのがこの場合です。
3. 自動ログオンになっている
電源を入れただけでログインまで進むと、誰が電源を入れたかが分かりません(自動ログオンを解除する方法)。
4. 画面ロックがかからず、ログインしたまま離席している
離席中に別の人が操作しても、記録上は本人の作業になります。離席時の自動画面ロックを全社で設定しておきます。
「誰が使ったか」を残すにはIDを1人1つにする
使えるかどうかは、ツールより先にログインの運用で決まります。
1人1つのIDでログインし、貸し借りをせず、離席時にはロックがかかる。この状態で初めて、ログの時刻が本人の時刻になります。
ただ、毎回のログインし直しや貸し借りの禁止は、手間が増えて定着しにくいのが実情です。現場の説得の仕方は共有アカウントの廃止の進め方にまとめています。
全PC・サーバーを1台ずつ見て回らずにまとめて管理する方法はADなしで社内のPC・サーバーをまとめて管理する方法、さらにログインを2要素認証にする方法はOSログイン・PCログインの二要素認証、Active Directoryがない会社が1台から始める手順はADなしでPCログインに2要素認証を入れる方法にまとめています。
在宅勤務なら打刻とPCの記録のずれも確かめる
在宅勤務では、社員がPCをいつ使い始めたか、どこで働いていたかが会社から見えません。PCの起動と勤怠ツールの出勤ボタンのどちらを出勤にするかは会社によって違いますが、どちらの場合も、もう一方の記録と突き合わせることが大切です。手順は在宅勤務の打刻とPCの記録のずれを確かめる方法にまとめています。
全PCの稼働時間とログイン記録が1か所に集まっていれば(アプリップリキー)、月末にPCを1台ずつ開いてコマンドを打たなくても、CSVで出して勤怠の打刻と突き合わせられます。いつPCを使い始めて終えたかが分かるので、働いた時間を会社と社員の両方が説明でき、「残業していたのに記録がない」といった食い違いも、同じ記録を見ながら落ち着いて確かめられます。
よくある質問
Q. PCのログは労働時間の記録として認められますか?
A. 厚生労働省のガイドラインでは、始業・終業時刻を確認する客観的な方法の例としてパソコンの使用時間の記録が挙げられています。ただしPCが起動していた時間がそのまま労働時間になるわけではなく、自己申告や勤怠の打刻と突き合わせ、大きな差があれば実態を確認するという使い方が基本です。
Q. スリープや画面ロック中の時間はどう扱えばよいですか?
A. ログオン・ログオフの記録だけでは、席を外していた時間が分かりません。スリープの開始と復帰(システムログの42と1)、画面ロックと解除(セキュリティログの4800と4801)を併せて見ると、PCを実際に使っていなかった時間帯を区切れます。4800と4801は監査の設定を有効にしてから記録が始まります。
Q. 過去何日分までさかのぼれますか?
A. ログの容量で決まります。既定の容量のままだと、古い記録から上書きされて数週間から数か月で消えることがあります。勤怠の確認に使うなら、先に保存期間を延ばしておく必要があります。
Q. 共用PCのログから、誰が使ったかは分かりますか?
A. 1人1つのIDでログインしていれば分かります。部署で1つのIDを使い回している、パスワードを教え合っている、自動ログオンになっている場合は、ログにはIDしか残らないため、実際に誰が使ったかは分かりません。
参考
- 厚生労働省「労働時間の適正な把握のために使用者が講ずべき措置に関するガイドライン」
- 労働安全衛生法 第66条の8の3(労働時間の状況の把握)
