「このPCに、いつ誰がログインしたのか」を調べる必要が出る場面があります。退職者の端末を回収したとき、不審な動きの報告を受けたとき、あるいは監査で記録の提出を求められたときです。Windowsは標準でログイン履歴を記録していますが、初期状態では一部しか残らず、探し方も分かりにくい場所にあります。この記事では、実際の操作順に確認手順をまとめます。何をもって不審と判断するか、他の環境も含めてどこを見るかは不正ログインを無料で確認する方法にまとめています。
いちばん速い確認方法
直近のログインを1件だけ知りたい場合、コマンド1つで済みます。コマンドプロンプトを管理者として実行し、次を入力します。
net user ユーザー名「最終ログオン日時」の行に、そのアカウントが最後にログインした日時が出ます。ただし分かるのはこの1件だけで、履歴の一覧は出ません。また、この値はそのPCに記録されたものなので、複数台を使っている社員の場合はPCごとに確認が必要です。
ドメイン環境で全ユーザーの最終ログオンをまとめて見たい場合は、ドメインコントローラー上でPowerShellを使います。
Get-ADUser -Filter * -Properties LastLogonDate | Select-Object Name,LastLogonDate | Sort-Object LastLogonDate古い順に並ぶため、長期間ログインのないアカウントが先頭に集まります。放置アカウントの洗い出しにそのまま使えます。
履歴の一覧を見る(イベントビューアー)
「いつ・誰が・成功したか失敗したか」を一覧で見るには、イベントビューアーを使います。
手順
- スタートメニューで eventvwr と入力してイベントビューアーを開く
- 左のツリーで Windowsログ → セキュリティ を選ぶ
- 右側の操作ペインで 「現在のログをフィルター」 をクリック
- 「イベントID」の欄に 4624,4625 と入力して OK
これでログイン成功と失敗だけが絞り込まれます。フィルターをかけずに眺めるのは現実的ではありません。セキュリティログには1日で数千件が記録されるためです。
見るべきイベントID
| ID | 意味 | 用途 |
|---|---|---|
| 4624 | ログイン成功 | 誰がいつ入ったか |
| 4625 | ログイン失敗 | 総当たり攻撃の兆候 |
| 4634 | ログオフ | 滞在時間の算出 |
| 4740 | アカウントロックアウト | 連続失敗の結果 |
| 4672 | 特権を伴うログイン | 管理者権限の使用 |
イベントを開くと詳細が表示されます。「アカウント名」と「ログオンタイプ」の2つを必ず見てください。
ログオンタイプの読み方
同じ「ログイン成功」でも、入り方によって意味が変わります。数字の意味を知らないと判断を誤ります。
| タイプ | 入り方 |
|---|---|
| 2 | その場でキーボードから(対話ログオン) |
| 3 | ネットワーク経由(共有フォルダへのアクセスなど) |
| 5 | サービスの起動(人の操作ではない) |
| 10 | リモートデスクトップ |
| 11 | キャッシュされた資格情報(社外でのオフラインログイン) |
特に注意して見るべきはタイプ10です。社内で使っているだけのPCに、想定していないリモートデスクトップのログインが記録されていれば、それ自体が調査の対象になります。リモートデスクトップの守り方は リモートデスクトップに多要素認証を追加するで扱っています。
タイプ5は人ではなくサービスによるものです。件数が多くても異常ではありません。ここを人のログインと数えると、実態を大きく見誤ります。サービス用アカウントの扱いは サービスアカウントの管理を参照してください。
コマンドで抽出する
画面で1件ずつ開くのは、件数が多いと現実的ではありません。PowerShellで一覧にできます。
Get-WinEvent -FilterHashtable @{LogName='Security'; ID=4625; StartTime=(Get-Date).AddDays(-7)} | Select-Object TimeCreated,Message直近7日間のログイン失敗を取り出します。失敗が特定のアカウントに集中していれば、総当たり攻撃を疑う根拠になります。攻撃の仕組みは 総当たり攻撃(ブルートフォース)で解説しています。
CSVに出して保管する場合は、末尾に出力を足します。
... | Export-Csv C:¥temp¥login.csv -Encoding UTF8 -NoTypeInformation監査で記録の提出を求められる場面では、画面のスクリーンショットより、期間を指定して出力したファイルの方が扱いやすいです。
履歴が残っていない場合
フィルターをかけても何も出ない、あるいは数日分しか残っていないことがあります。原因は2つです。
1. 監査ポリシーが有効になっていない
ログイン失敗(4625)は、既定では記録されない環境があります。グループポリシーで有効にします。
- gpedit.msc を開く(ドメイン環境では管理用テンプレートから全社に配る)
- コンピューターの構成 → Windowsの設定 → セキュリティの設定 → ローカルポリシー → 監査ポリシー
- 「ログオンイベントの監査」を開き、成功と失敗の両方にチェック
「失敗」だけを外している設定をよく見かけますが、これでは攻撃の兆候が残りません。両方を有効にしてください。グループポリシーでの配布方法は グループポリシーでのアカウント保護設定にまとめています。
2. ログのサイズ上限で上書きされている
セキュリティログは既定で20MB程度の上限があり、超えると古いものから消えます。台数の多い環境では、数日で消えることも珍しくありません。
イベントビューアーで「セキュリティ」を右クリック →「プロパティ」から、最大ログサイズを引き上げます。数か月分を残すなら、実務上は数百MB規模が目安になります。
ただし各PCにログを貯めておく方式には限界があります。そのPCが壊れた場合や、攻撃者に消された場合に何も残りません。重要な端末やサーバーについては、ログを別の場所へ集める仕組みの検討が必要です。考え方は アクセスログの監査で扱っています。
確認したあとに判断すること
履歴を見るのは目的ではなく、判断の材料を得るためです。次の3点を確認してください。
- 退職者や異動者のアカウントでログインが記録されていないか — 残っていれば削除漏れです。退職者アカウントの棚卸しを参照してください
- 深夜や休日など、業務時間外のログインがないか — 説明のつかないものは調査対象です
- 同じアカウントで失敗が連続していないか — 攻撃かパスワード忘れかを切り分けます
なお、ログを見て気づけるのは「起きたあと」です。ログイン履歴の確認は必要な備えですが、それ自体は侵入を防ぎません。パスワードが漏れた時点で入られてしまう構成のままなら、記録が残るだけで被害は防げません。事前に止める手段は Windowsログインの二要素認証で解説しています。
よくある質問
ログイン履歴はどのくらいの期間残りますか
既定のログサイズでは数日から数週間で上書きされます。環境の規模によって大きく変わるため、必要な保存期間を決めたうえで、イベントビューアーのプロパティから最大ログサイズを設定してください。
ログイン失敗が記録されていないのはなぜですか
監査ポリシーの「ログオンイベントの監査」で、成功のみが有効になっている可能性があります。失敗にもチェックを入れてください。攻撃の兆候は失敗側にしか現れません。
他人のPCのログイン履歴を遠隔から見られますか
管理者権限があれば、イベントビューアーの「別のコンピューターに接続」やPowerShellのリモート実行で参照できます。ただし対象PCが起動しており、ネットワーク経由の接続が許可されている必要があります。
自社の対応状況を確認するには
ログイン履歴の確認は、問題が起きたあとに事実を追うための手段です。そもそも入られない状態を作れているかは、別に確認する必要があります。applippliの無料診断では、約3分の質問に回答するだけで、ID・パスワードに関連する対応状況を5段階で判定し、結果をPDFレポートでお届けします。個人情報の入力は不要で、会員登録もありません。
参考・出典
※ 本記事は2026年9月時点の一般的な解説です。画面の名称や既定値はWindowsのバージョン・エディションおよび適用されているポリシーによって異なる場合があります。実際の設定変更は、検証環境で確認のうえ実施してください。
