勤務実態を調査用に、イベントログからログオン・ログオフ時間等を抽出する方法。勤務実態を調査用に、イベントログからログオン・ログオフ時間等を抽出する方法。(GET-WinEvent)2019-07-08勤務実態を調査用に、イベントログからログオン・ログオフ時間等を抽出する方法。(GET-WinEvent)ITな話題:TIPS・ノウハウ今回は、Windows10パソコン(PC)のイベントログから、起動時刻・ログオンおよび停止時刻・ログオフ時刻を収集する具体的な方法についてのお話です。前振りブラック企業や労働争議などの記事を読むと、「PCのログを押収し、起動時刻やログイン時刻を調査した・・」という記述が目につきます。・・と思うのですが、でも、具体的なやり方を知っている人は意外と少なかったりします。自分もたまに質問されるのですが、なかなか、口頭だけで説明するのは難しい。これを見てくれたらいいよ・・って言えるように、まとめてみることにしました。起動・ログインに関係のあるイベントを拾う取得の対象になるのはイベントログです。Systemログに記録されています。抽出対象にするイベントIDのリスト関係のありそうなイベントIDは以下の通りです。:サービスストップ(ログオフ:Windows10高速起動時)意外と情報がなく、以下のサイトを参考にさせてもらいました。pentan.netWindowsのバージョンで対象とするIDは違うwindows7,8なら、6005と6006と6008だけで良いです。Windows10の高速起動・終了を使った場合、そのログを書きません。その場合は、かわりにログオン・ログオフ(7001,7002)をひろう必要があります。イベントログには、Sequrityのカテゴリに、以下のイベントもありますが、これは上記の取得対象に含めていません。Logon何故、これを取得対象にしないのか?というと、これは今回のような時刻を知りたいだけの用途には適さないからです。監査ログなので情報が詳しすぎて、とても面倒くさいのですね。いう細かい情報も欲しいという場合もあるかもしれないので、この記事の最後に、取得方法とログの例をのせておきます。PowerShellで情報を取得して、CSVファイルにするこれをイベントビューアで見るのも良いですが。WindowsにはPowerShellという便利なものがあるので、今回はそれを使います。テキストで取得しておいた方が後々便利ですし。powershellを「管理者権限」で立ち上げます。EventLogから起動・終了(またはログオン・ログオフ)のイベントを拾って、日時とイベントIDとメッセージのみを、CSVファイルにはきだします。実行するコマンドです。GET-EventLogというコマンドを使う方法が紹介されている場合が多いですが、このコマンドは古いのでWindows10だと取得できないログの種類があったりしますし、アーカイブファイルを読めないという欠点があります。GET-WinEventを使います。UTF8上記をコピペで実行する場合は、出力するCSVの指定("C:\myWork\99_tmp\event.csv")を、環境にあわせて変更してください。実行して出力されるCSVファイルのイメージサンプル実行すると、以下のようなCSVファイルが出力されます。ログオン通知"Windows10で、かつ、高速起動・終了を使っているので、ほとんど7001、7002ばかり拾われてます。起動またはログインおよび終了またはログオフの時間データは取得できました。CSVデータを整理して、1日の始業・終業時刻を求めるイベントログから取得するCSVデータには、同一日付に複数回の起動・終了のログが残っていたりします。深夜残業などで起動した日と終了した日が異なる場合もあります。どの時間が「始業時刻」で、どれが「終業時刻」なのか・・。データを眺めながらの手作業で整理して、EXCELの表とかで勤務実績表みたいにしておいたほうが、あとで眺めるときに便利です。多少面倒ですが、手作業でもできますし。沢山の人数分を処理したりする場合は、プログラムとかで、整形までスマートにやりたい・・というニーズは当然あります。VBAで集計するツールを作りました。arakan-pgm-ai.hatenablog.comこちらの記事は同様のことをpythonでやっている例です。arakan-pgm-ai.hatenablog.com参考までに。ログサイズの上限と過去ログからの情報取得について上記の方法でログから情報をとれますが、残念ながらログサイズには上限があります。古いログはとれません。自分の環境だと直近2ケ月分くらいでした。最大ログサイズとか、過去ログを復活させられるかどうかなどは、コンピュータの管理>イベントビューアでシステムのプロパティで確認します。ここで、上記みたいに「イベントを上書きする」になってると、古いイベントは上書きして消されているので、過去ログを復旧するのは、ちょっと望み薄です。イベントを上書きしないでログをアーカイブするになっていれば、過去のログも確認できる可能性があります。まめに定期的に取得しておくのが、確実ではあります。過去のログの取得方法についてさて。過去のログは、evtx形式のファイルに保存されます。場所はログのパスで確認します。'フルパスのアーカイブファイル名'」の様に指定します。最後に監査イベントのログを取得する方法です。logon」「4624:logon」を取得するひとつの方法はこちらです。UTF8取得できるログのサンプルはこちらです。22:05:30","4672","新しいログオンに特権が割り当てられました。22:05:30","4624","アカウントが正常にログオンしました。取得するには詳しすぎます。このログは高度サイバー攻撃などを受けていないかを監査するためにあります。意図していないアカウントに対して、このイベントログが出力されていた場合、MS14-068の脆弱性が悪用され、攻撃者が不正に権限昇格をおこなったことが考えられる・・みたいな判断をして監査していくわけです。自分のPCが乗っ取られてるんじゃないか・・とか、そういう緊急事態に参照するログでしょうね。08:00勤務実態を調査用に、イベントログからログオン・ログオフ時間等を抽出する方法。検索スポンサーリンク最近のアクセスTOP5ブクマ数TOP3IT的なTIPS・ノウハウイベントログから抽出したログオン・オフ時刻を見やすいように整形するEXCELのVBAマクロなど。Google検索は利用するけど、アクティビティを保存させたくない時もある文字コードで悩まされるなんて久しぶり/JIS7(ISO-2022-JP)とJIS8の話もっと見る作業時によく参照する「まとめ」djangoテンプレート内でforループで回す時の整理とデフォルト辞書利用時の注意など。djangoテンプレート内ので条件分岐(IF文)で注意することなどをまとめておくdjangoテンプレート/変数の値の参照の仕方が、Pythonと違う所があるので整理しておく。service」とサーバーレスコンピューティング関係をまとめてみる。PWA・SPA・・など「最近のWEBアプリケーションの種類」をざっくりまとめる。文系的まとめディープラーニング(ニューラルネットワーク)の「学習」の肝は「微分」らしいよ。Consoleもっと見るディープラーニングのデモをやってみるWord2Vecで「単語の足し算・引き算の結果(単語)を取得する」デモをやってみる。API」で入力文の疑わしい部分をAIが指摘するデモを作る。classで事前学習済のVGG16モデルを使った画像識別クラス/tensorflow2.0(tf.keras)ランダムフォレストで回帰してみる/気象情報と電力データその2もっと見るPythonでWebアプリやってみるviews.py(python)からデータを渡して、Chart.jsでRaderチャートを描く/Chart.js+djangoWEBブラウザ上にドラッグ&ドロップした画像ファイルをBase64に変換して表示するWEBブラウザで手描きしたイメージをJPEG・PNG変換後Base64エンコードするもっと見るPythonで自動化やってみるWebアプリケーションで自動的に値を参照、スクロール他Tips/Selenium&pythonWebアプリケーションで自動的に何かをクリックするTips/Selenium&pythonWebアプリケーションへの自動入力・選択のTipsあれこれ/Selenium&pythonもっと見るPythonで数学・グラフィックスやってみるモンティ・ホール問題で、ちょっと暇つぶし。最近、台風が怖すぎる!!!生産性向上しろと言いながら、片方で足をひっぱるなんて・・と呆れてます。/軽減税率のニュースを見てもっと見るBOKU62歳の文系SE”BOKU”です。<arakan_no_boku@yahoo.co.jp>興味の向いたものを、つまみ食い的に勉強してます。自分が消化した内容を、頭の整理と備忘を兼ねてブログに書いてます。IT系・・特に機械学習・プログラムネタが中心ですが、IT以外のネタになる時もあります。(43)スポンサーリンクはてなブログをはじめよう!arakan_no_bokuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。