[登録されているタグ]

[記事公開日]2026/01/23

PowerShellで起動時間を確認する|Get-CimInstance の実用例

📝 はじめに

パソコンの調子が悪いときや問い合わせ対応の場面で、
「この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の起動時間・稼働時間を確認したい
  • 再起動されているか確認したい
Generic filters
すべてを開く | すべてを閉じる

ページ上部へ戻る