0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

勤怠時間の確認用スクリプトforWindows

Last updated at Posted at 2019-07-24

月末の勤怠書くときに、自分の勤務時間のおおよそが知りたいが為に
書いたスクリプトです。

年月指定ができるように修正しました。
今月いつ休んだんだっけ?
っと悩む事が多い人(自分含む)には、便利だと思います。

以下2点注意

  • Eventログの件数が多すぎるとかなり時間がかかりますので実行時はご注意ください。
  • 日をまたいで仕事をしているような方には、まったく効果がありません。

$targetMonth = (get-date).tostring("yyyyMM")

#今月以外の特定年月が見い場合は次行にある頭の#を削除して、年月を変更を指定してください
#$targetMonth = "202009"

get-eventlog system |  
  ? {$_.timegenerated.date.tostring("yyyyMM") -eq $targetMonth } |
  sort timegenerated |
  group {$_.timegenerated.date } |
  %{ $_.group | select -first 1 -last 1 | group | select group } |
  %{ write-host ("{0:yyyy/MM/dd} : {0:HH:mm:ss} - {1:HH:mm:ss}" -F $_.group[0].timegenerated,$_.group[1].timegenerated) }

このスクリプトのポイントは、

group {$_.timegenerated.date } |
  %{ $_.group | select -first 1 -last 1 | group | select group }

の部分。

group {$_.timegenerated.date }で日ごとのログに集約して
$_.group | select -first 1 -last 1 そのグループから、最初と最後を抜き出して
group | select group無条件に結果をまとめて、その結果をとる(first,last2行を1行にする)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?