もくじ
📝 はじめに
パソコンの調子が悪いときや問い合わせ対応の場面で、
「このPC、いつから起動しっぱなしなんだろう?」
「本当に再起動されているのか確認したい」
と思うことはよくあります。
そんなときに役立つのが、
Get-CimInstance を使った
起動時間(最終起動時刻)の確認です。
この記事では、Windowsの起動時間を確認するための
実務で使いやすい確認手順を紹介します。
- 本当に再起動が行われたか確認したい
- 長時間起動しっぱなしのPCを把握したい
- フリーズ・不具合発生前後の状況を整理したい
- 問い合わせ対応で「最終起動時刻」を確認したい
✅ このコマンドでできること(要点)
- Windowsの最終起動時刻を確認できる
- 再起動されているかどうかを判断できる
- イベントログを見る前の「前提情報」を掴める
- スクリプトから安定して取得できる
✅ Get-CimInstanceでできること
Get-CimInstance は、
CIM(Common Information Model)を通じて
Windows内部の状態を取得するためのコマンドです。
起動時間の確認では、
Win32_OperatingSystem クラスの
LastBootUpTime プロパティを利用します。
これにより、OSが最後に起動した時刻を取得できます。
🧩 基本構文
Get-CimInstance Win32_OperatingSystem
OSに関する情報が表示されます。
出力が表示されていれば、コマンドは正常に実行されています。
▶ 基本的な使い方(まずこれだけ)
🔹 最終起動時刻を確認する
Get-CimInstance Win32_OperatingSystem |
Select-Object LastBootUpTime
表示される時刻が、Windowsが最後に起動した時刻です。
再起動が行われていれば、この時刻は更新されています。
🔹 起動してからの経過時間を確認する
$os = Get-CimInstance Win32_OperatingSystem
(New-TimeSpan -Start $os.LastBootUpTime -End (Get-Date))
起動してからどれくらい経過しているかを確認できます。
数日〜数週間起動しっぱなしのPCを見つけるのに便利です。
🛠 よく使われる指定例
🔹 起動日時を見やすい形式で表示する
Get-CimInstance Win32_OperatingSystem |
Select-Object @{Name="LastBoot";Expression={$_.LastBootUpTime.ToString("yyyy/MM/dd HH:mm:ss")}}
日時表記を整えて表示できます。
報告書やスクリーンショット向けです。
🔹 PC名とあわせて確認する
Get-CimInstance Win32_OperatingSystem |
Select-Object CSName, LastBootUpTime
複数PCを扱う場合でも、どの端末の情報か分かりやすくなります。
💼 実務でよく使う使用例(応用)
🔹 再起動されていないPCを探す(目安)
$os = Get-CimInstance Win32_OperatingSystem
if ((New-TimeSpan -Start $os.LastBootUpTime -End (Get-Date)).Days -gt 7) {
"7日以上再起動されていません"
}
定期再起動が行われていないPCの検出に使えます。
判定条件(日数)は環境に応じて調整してください。
🔹 起動時間情報をファイルに保存する
Get-CimInstance Win32_OperatingSystem |
Select-Object CSName, LastBootUpTime |
Out-File "C:\logs\last_boot_time.txt"
ファイルが作成されていれば、
情報取得と保存は正常に行えています。
- New-TimeSpan で稼働時間を算出
- イベントログ(再起動履歴)と合わせて確認
- トラブル発生時刻との前後関係を整理
🧩 よくある勘違い・つまずきポイント
- スリープ・休止状態からの復帰では起動時刻は更新されない
- 高速スタートアップ有効時は実際の再起動と一致しない場合がある
- 仮想マシンではホスト依存の挙動になることがある
- シャットダウンと再起動の違いを混同しやすい
- 表示時刻はローカル時刻(環境依存)
🔄 cmdとの違いについて
cmdでは systeminfo を使って
「システム起動時間」を確認できますが、
Get-CimInstance は
オブジェクトとして扱えるため、
経過時間の計算や条件判定に向いています。
⚠ エラー・うまく動かないときの確認ポイント
- PowerShellのバージョンが極端に古くないか
- CIM関連サービスが停止していないか
- 管理者として実行が必要な環境ではないか
- 保存先フォルダが存在するか
🧠 注意点
起動時間は「再起動されたかどうか」の判断材料になりますが、
不具合の原因を直接示すものではありません。
イベントログや更新履歴など、
他の情報と組み合わせて判断することが重要です。
📌 まとめ
- LastBootUpTimeでWindowsの最終起動時刻を確認できる
- 再起動されているかの判断に使える
- New-TimeSpanと組み合わせると稼働時間が分かる
- 次は再起動履歴(イベントログ)と合わせて確認すると効果的
🔎 PowerShellコマンドを探す
- ファイルを削除したい
- 一覧を表示したい
- 文字列を検索したい
- 条件で絞り込みたい
- エラーや実行できない原因を調べたい
- PCの起動時間・稼働時間を確認したい
- 再起動されているか確認したい
