Windowsでシステムの起動日時や稼働時間を確認する方法

Windowsでシステムの起動日時や稼働時間を確認する方法

Windowsマシンを管理していると、マシンがいつ起動したか(再起動したか)や、どれぐらいの期間稼働しているかを確認したいときがあります。

そこでここでは、Windows 10を例にシステムが最後に起動した日時や稼働時間を確認する方法を紹介します。

システム起動日時を確認する

システム起動日時は、WindowsコマンドやPowerShellで確認することができます。

Windowsコマンド

システム情報を表示するコマンド「systeminfo」には、表示される情報の中に「システム起動時間」があり、ここに表示されている日時がシステム起動日時となります。

> systeminfo | findstr "システム起動時間"
システム起動時間:       2021/10/18, 15:29:13

PowerShell

PowerShellでは、以下のコマンドを実行することでWMIからシステム起動日時を取得することができます。

PS> [Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime)

2021年10月18日 15:29:13

表示をシンプルにしたいときは、以下のように表示形式を指定することもできます。

PS> ([Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime)).toString("yyyy/MM/dd HH:mm.ss")

2021/10/18 15:29:13
WMIとは

WMI(Windows Management Instrumentation)は、Windowsのシステム情報をさまざまなソフトウェアから統一的な方法で取得・操作できる機能として、Windows2000時代から実装されており、PowerShellなどからもWMIによって提供されているシステム情報を取得したり操作することができます。

システム稼働時間を確認する

システム稼働時間は、タスクマネージャーで確認したり、PowerShellで計算することができます。

タスクマネージャー

タスクマネージャーの「パフォーマンス」タブには「稼働時間」という項目があり、ここでシステム稼働時間を確認することができます。

Windowsでシステムの起動日時や稼働時間を確認する方法

PowerShell

PowerShellでは、現在日時とシステム起動日時の差からシステム稼働時間を計算することができます。

PS> $boottime=[Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime)
PS> (Get-Date) - $boottime | Select-Object Days, Hours, Minutes, Seconds

Days Hours Minutes Seconds
---- ----- ------- -------
0    17    41       44

タスクマネージャーと同じように表示したいときは、次のようにコマンドを実行します。

PS> $boottime=[Management.ManagementDateTimeConverter]::ToDateTime((Get-WmiObject Win32_OperatingSystem).LastBootUpTime)
PS> $difftime=(Get-Date) - $boottime
PS> "$($difftime.days):$("{0:D2}" -f ($difftime.hours)):$("{0:D2}" -f ($difftime.minutes)):$("{0:D2}" -f ($difftime.seconds))"

0:17:41:44

あとがき

システム起動日時やシステム稼働時間は、目視での確認だけでなく、コマンドで取得してログに記録するなどしておけば管理しやすいでしょう。

ご活用あれ。