#概要
パソコンが起動した時間をPowerShellを使ってプリザンターに記録してみましたので紹介します。
#前提条件
###プリザンター
- .NetFrameWork版
###ぱそこん側
- Windows 10 Pro
#プリザンターにテーブルをつくる
記録テーブルをあらかじめ作成しておきます
今回はテンプレートを設定せずにまっさらな状態で作りました。
変えた部分
- [分類A]を一覧に表示
- タイトルに [担当者][分類A] がセットされるようにする
- [作成時間]を起動時間という名前に表示変更
#PowerShellでスクリプトをつくる
プリザンターの分類Aに「かいはつパソコン」という文字列をセットしてレコードを新規作成する。というサンプルです
公式マニュアルのサンプルを参照しています
https://pleasanter.net/fs/publishes/1830428/edit
下記サンプルのURLとAPIKEYを環境に合わせて変更し、.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 |
作業フォルダー | (空白) |
.ps1ファイルは必ずフルパスで指定してください
#スタートアップに登録
Windows10のスタートアップフォルダに作成したショートカットを配置します
アドレスは
C:\Users\[ユーザ名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
です。(いつも忘れる・・・)
#結果
再起動するたびにドンドンレコードが追加されていきます。
プリザンターの「作成時間」をパソコンが起動した時間としています
(仕事中に再起動しまくってる)
#さいごに
シャットダウンの時間も取れればいなと思ったのですが、少しコツがいるようです。
進捗があれば記事にしたいと思います。