Windows の OS やサービスの稼働時間を確認する方法を紹介します。
インフラの運用をしていると、サーバや各種サービスが再起動していないかを確認する機会が多くあります。
Linux では uptime や ps コマンドで起動時間を確認しますが、今回は Windows での確認方法を紹介します。
※Linux での確認方法
$ uptime
19:20:55 up 16 days, 6:33, 1 user, load average: 0.00, 0.00, 0.00
$
$ ps -eo lstart,pid,args | grep httpd | grep -v grep
Sat Apr 8 01:00:31 2023 12116 /usr/sbin/httpd -DFOREGROUND
Fri Apr 21 15:17:18 2023 204115 /usr/sbin/httpd -DFOREGROUND
Fri Apr 21 15:17:19 2023 204116 /usr/sbin/httpd -DFOREGROUND
Fri Apr 21 15:17:19 2023 204117 /usr/sbin/httpd -DFOREGROUND
Fri Apr 21 15:17:19 2023 204121 /usr/sbin/httpd -DFOREGROUND
Fri Apr 21 15:17:22 2023 204330 /usr/sbin/httpd -DFOREGROUND
$
OS起動時間確認
「コマンドプロンプト」、「Powershell」、「タスクマネージャー」の3つの方法があります。
コマンドプロンプトでの確認
systeminfo でシステム情報がいろいろと確認できるので、その中から「時間」を含む行を絞り込んで確認。
例ではついでに OS 名も表示しています。
>systeminfo | findstr /C:"OS 名" /C:"時間"
OS 名: Microsoft Windows 11 Home
システム起動時間: 2023/04/13, 21:02:20
>
Powershellでの確認
システム情報から「.LastBootUpTime」を指定して確認しています。
こちらもついでに OS 名(.Caption)も表示しています。
> (Get-WmiObject -class Win32_OperatingSystem).Caption
Microsoft Windows 11 Home
> (Get-WmiObject -class Win32_OperatingSystem).LastBootUpTime
20230413210220.594920+540
>
20230413210220.594920+540 なので OS 起動時間は 2023/04/13 21:02:20 です。
タスクマネージャーでの確認
「タスクマネージャー」>「パフォーマンス」>「CPU」内の「起動時間」を確認します。
起動時間: 7:22:22:49 なので 7日22時間22分49秒前に起動しています。
サービス起動時間確認
「コマンドプロンプト」で確認します。
コマンドプロンプト
「wmic process where 'name = "サービス名" get creationdate」
例では Print Spooler サービスの起動時間を確認しています。
>wmic process where 'name = "spoolsv.exe"' get creationdate
CreationDate
20230413210229.126282+540
>
20230413210229.126282+540 なのでサービス起動時間は 2023/04/13 21:02:29 です。
自動起動サービスなので OS 起動時にちゃんと起動されていることがわかります。
まとめ
GUI と CLI 両方での確認方法を知っておくと結構便利なので、OS起動時間については 3パターン紹介しました。
役に立てば幸いです。
気に入ったらぜひ共有してください。