2021-11-27

PowerShell で Money Forward クラウド勤怠を操作する

現職について 2 ヶ月が経とうとしているが、まだ爆殺されてない。ので馴染んできているのかも知れない。コミュニケーションが少なくても(定例を除き、最少 DM1 通/週とか)何とかやっていけるものだなという気づきを得た。


現職では勤怠の管理に Money Forward クラウド勤怠を利用している(時間管理なのだ)。 始めに書いておくと、勤怠管理システムはなんでか知らんがそれぞれに特色があって、どのツールを使っても一癖あるモノだというのがわたしの見解。その中でも Money Forward クラウド勤怠は悪くない印象だ。

しかし、わたしという人間がどうにもこうにも打刻という行為が大の苦手で、非常に億劫だ(労務管理の上で必要なんはわかるけど仕事の前後で打刻しないといけないとかワシら機械か、人間のやることじゃないと。某筋肉番組のショットガンタッチならいざ知らず)。

プログラマというのは怠惰なので、ブラウザで一々アクセスして打刻ボタンを押すのも苦痛なのであって、即ち半自動化に至るのは自然なことだ。 自動化じゃなく半自動化なのがポイント。自動化したら勤務してないのに勤務してるみたいなやばいことになりかねへん。自動化できるケーパビリティを持ちつつも半自動で使うのが職業プログラマの倫理?

そこでまず自分で作りたくないので誰かが書いたツールを探すと、puhitaku/mfpy: MoneyForward クラウド勤怠といい感じに通信していい感じに打刻するやつ が見つかった。良さそう。

でも PowerShell でどうしてもやりたかった。なので PowerShell で作った ↓

krymtkts/PSMFAttendance

今は出退勤のリアルタイム打刻しかできない。今後、わたしがグータラできる水準まで高めるには次の機能が必要かなーと考えている。

  • 二重打刻防止
    • なんと出勤や退勤が無限多重打刻できる仕様なので、これを防止したい
      • そのためには勤怠実績の一覧を取得する機能が必要になる
  • 打刻のリマインド機能
    • これは *-ScheduledTask でなんとかでけへんかなと考えているが...やったことない
      • 過去にタスクスケジューラでスケジュール実行をしてたけど PowerShell でやりたいし
  • 勤務実績の入力
    • 打刻忘れの場合この作業が必要なので

あと、PowerShell Gallery の登録まだなのでしないと。アレのやり方毎回忘れるし簡単な方法ないんかというのも悩みどころ。あの工程をpsake のタスクにまとめるのはなんかで見たことあるけど、初回は手でやるか。


因みに自動化について利用規約に触れないか気になったのだが、見た感じ問題なさそうだった。 利用規約 | 会計ソフト マネーフォワード クラウド