LoginSignup
1

More than 1 year has passed since last update.

プリザンターとPowerShellでパソコンの起動時間を記録する

Last updated at Posted at 2020-12-22

概要

パソコンが起動した時間をPowerShellを使ってプリザンターに記録してみましたので紹介します。

前提条件

プリザンター

  • .NetFrameWork版

ぱそこん側

  • Windows 10 Pro

プリザンターにテーブルをつくる

記録テーブルをあらかじめ作成しておきます
今回はテンプレートを設定せずにまっさらな状態で作りました。
2020-12-23_00h21_24.png
変えた部分

  • [分類A]を一覧に表示
  • タイトルに [担当者][分類A] がセットされるようにする
  • [作成時間]を起動時間という名前に表示変更

PowerShellでスクリプトをつくる

プリザンターの分類Aに「かいはつパソコン」という文字列をセットしてレコードを新規作成する。というサンプルです

公式マニュアルのサンプルを参照しています
https://pleasanter.net/fs/publishes/1830428/edit

下記サンプルのURLとAPIKEYを環境に合わせて変更し、.ps1形式で保存します

サンプルソース

StartupPC.ps1
Add-Type -AssemblyName "System.Web"
$error.Clear()

$requestUrl = "http://[プリザンターのアドレス]/api/items/[サイトID]/create"
$apiKey = "[プリザンターのAPIKEY]"

trap [Net.WebException] { continue; }
try{
    $json = @{
        ApiVersion = 1.1
        ApiKey = $apiKey
        ClassHash = @{
            ClassA = 'かいはつパソコン'
        }
    }
    $requestBody = $json | ConvertTo-Json -Depth 2

    #UTF-8にエンコード これがないとプリザンター上で日本語が文字化けします
    $convertBody = [System.Text.Encoding]::UTF8.GetBytes($requestBody)

    $res = Invoke-RestMethod -Uri $requestUrl -ContentType "application/json" -Method POST -Body ${convertBody}
    Write-Output $res
}
catch {
    Write-Output $_.Exception
}

起動用ショートカットを作成

PowerShell(.ps1形式)はWindowsデフォルトだとダブルクリックしても起動してくれません。

レジストリをいじる、など色々方法はありますが手っ取り早い方法として
ショートカットを作るという方法があります。

以下の記事でとてもわかり易く解説されています。
https://qiita.com/tomoko523/items/df8e384d32a377381ef9

設定項目 設定例
リンク先 C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -File D:\test\StartupPC.ps1
作業フォルダー (空白)

2020-12-23_00h32_12.png

.ps1ファイルは必ずフルパスで指定してください

スタートアップに登録

Windows10のスタートアップフォルダに作成したショートカットを配置します
アドレスは

C:\Users\[ユーザ名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

です。(いつも忘れる・・・)

結果

再起動するたびにドンドンレコードが追加されていきます。
2020-12-23_00h06_38.png
プリザンターの「作成時間」をパソコンが起動した時間としています
(仕事中に再起動しまくってる)

さいごに

シャットダウンの時間も取れればいなと思ったのですが、少しコツがいるようです。
進捗があれば記事にしたいと思います。

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
What you can do with signing up
1