2012-12-24 14:24:07 +0000 2012-12-24 14:24:07 +0000
112
112

Windowsが最後に再起動されたのはいつですか?

Windows 7を実行しているコンピュータが最後に再起動されたのはいつですか?

イベントログを検索するのではなく、wmicや多分cmdのコマンドのようなもので解決するのがいいですね。

回答 (14)

173
173
173
2012-12-24 14:32:31 +0000

systeminfoコマンドは、あなたが必要とするものはほぼ正しいです。英語のWindows 7では、また行うことができます:

systeminfo | find /i "Boot Time"

またはWMICの助けを借りて:

wmic os get lastbootuptime

Windows 7とWindows XPの間の主な違いは、Windows 7でMicrosoftが最後の起動時間だけを表示することができます。

25
25
25
2014-12-09 15:34:46 +0000

これを行うもう一つの方法は、Windows XP と Windows 7 の両方で動作する次のコマンドラインを使用することです:

net statistics workstation

これは、日付をフォーマットしながら (systeminfo が行わない) wmic の代替コマンドよりも高速であるという利点を持っています。また、このコマンドを実際にコンピュータのデバッグに使用している場合に役立ついくつかの他の情報も得られます (特に cmd を求めているので、プログラム的にこれを行っていないことを前提としています)。 http://technet.microsoft.com/en-us/library/bb490714.aspx

結果の例です(Windows 7 Pro SP1 x64のフランス語コピーを使用しています。コマンドラインではユーザーの言語はあまり関係ありません):

(コンピュータ名は意図的にぼかしています)


詳細は http://en. wikipedia.org/wiki/Uptime システムの稼働時間を決定する際の精度について


重要な注意 : この方法は、コンピュータが最後に起動された時間を決定するもので、稼働時間を決定するものではありません。sleep/hibernateを使用している場合、2つの数値は異なります。

19
19
19
2012-12-24 14:41:41 +0000

クラスのLastBootUpTimeプロパティがあります。WMICを使用するには、次のコマンドを使用します:

wmic os get lastbootuptime

Powershellを使用する場合は、時間を、厄介なWMIの日付書式よりも読みやすいものに変換することができます。

Get-WmiObject -class Win32_OperatingSystem | Select-Object __SERVER,@{label='LastBootUpTime';expression={$_.ConvertToDateTime($_.LastBootUpTime)}}

PowerShellのそれ以降のバージョンでは、Get-CimInstanceを使用することもできますが、これは自動的に値をdatetimeとして返します:

Get-CimInstance -Class Win32_OperatingSystem | Select-Object LastBootUpTime

唯一のイライラすることは、Get-CimInstanceは時々、WMIオブジェクトからいくつかのシステムフィールドの名前を変更することです。あなたは、私のために動作するように思えるWin32_OperatingSystemまたはCSNameのいずれかを使用する必要があります。

9
9
9
2017-03-28 13:19:57 +0000
4
4
4
2018-08-21 07:51:22 +0000

Alex ](https://superuser.com/users/948433/alex)さんが指摘されているように、`/sleepstudy`コマンドはWindows 8.1まで追加されていないことに注意してください。

これらの他の回答の中には、例えばイベントログを検索しても、常にいくつかのエントリが見つからないなど、私にはうまくいかなかったものがあることに注意してください。この点では @Florisz さんの回答も正しいです。ここに私の解決策があります:

管理者コマンドシェルで、次のコマンドを実行してください:

powercfg /sleepstudy /output sleepstudy.html

それからブラウザでsleepstudy.htmlファイルを開いてください。すると、過去3日間のシャットダウン/再起動/スタンバイ/ハイバネーションの統計が、驚くほど整理された状態で表示されます。(なので、必要なら定期的に実行してください)

出力の一例です。(AFAIR、Showdown (Hybrid)は高速起動を意味します)

ソース/ドキュメント | 関連項目

2
2
2
2016-05-24 20:46:59 +0000

wmicで起動時間を取得するバッチファイルのまだ別の方法ですが、人間が読める形式で :

for /f %%a in ('WMIC OS GET lastbootuptime ^| find "."') DO set DTS=%%a
set BOOTTIME=%DTS:~0,4%-%DTS:~4,2%-%DTS:~6,2% %DTS:~8,2%:%DTS:~10,2%
echo DTS : %DTS%
echo BOOTTIME :%BOOTTIME%

出力 :

DTS : 20170308073729.491206+060

BOOTTIME : 2017-03-08 07:37

2
2
2
2017-10-07 19:32:19 +0000

これにはPowerShellが使えます。

Shutdown


Get-WinEvent -LogName Microsoft-Windows-Diagnostics-Performance/Operational | Where { $_.Id -eq 200 }

これはログに記録されたシャットダウン時間のリストを表示します。

代替コマンド、リモート接続用に最適化されています:

Get-WinEvent -FilterHashtable @{LogName = "Microsoft-Windows-Diagnostics-Performance/Operational"; Id = 200; }

出力例:

TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
2017-01-28 18:25:46 200 Critical Windows has shutdown
2016-11-01 19:55:21 200 Error Windows has shutdown
2016-10-29 00:18:38 200 Critical Windows has shutdown
2016-10-26 23:16:55 200 Warning Windows has shutdown
2016-10-26 15:37:40 200 Warning Windows has shutdown
2016-10-26 02:18:24 200 Warning Windows has shutdown
2016-10-26 02:10:34 200 Warning Windows has shutdown
2016-10-26 02:04:01 200 Warning Windows has shutdown
2016-10-25 14:23:11 200 Warning Windows has shutdown
2016-10-25 13:07:46 200 Error Windows has shutdown
2016-10-25 00:18:12 200 Error Windows has shutdown
2016-10-19 13:16:39 200 Critical Windows has shutdown

Startup


次のコマンドは、ログに記録された起動時間のリストを表示します。

Get-WinEvent -LogName Microsoft-Windows-Diagnostics-Performance/Operational | Where { $_.Id -eq 100}

代替コマンド、リモート接続のために最適化されたより良い:

Get-WinEvent -FilterHashtable @{LogName = "Microsoft-Windows-Diagnostics-Performance/Operational"; Id = 100; }

出力例:

TimeCreated Id LevelDisplayName Message
----------- -- ---------------- -------
2017-10-07 21:35:38 100 Critical Windows has started up
2017-01-28 18:25:48 100 Critical Windows has started up
2016-12-11 17:45:07 100 Critical Windows has started up
2016-11-16 13:26:52 100 Critical Windows has started up
2016-11-01 19:55:21 100 Critical Windows has started up
2016-10-29 00:18:39 100 Critical Windows has started up
2016-10-26 23:16:55 100 Error Windows has started up
2016-10-26 14:51:07 100 Error Windows has started up
2016-10-26 02:24:01 100 Error Windows has started up
2016-10-26 02:18:24 100 Critical Windows has started up
2016-10-26 02:10:34 100 Error Windows has started up
2016-10-26 02:04:01 100 Critical Windows has started up
2016-10-25 14:23:12 100 Error Windows has started up
2016-10-25 13:07:47 100 Error Windows has started up
2016-10-25 12:56:23 100 Error Windows has started up
2016-10-19 13:16:39 100 Critical Windows has started up

私はこれを PowerShell 5.1 と Windows 10.0.15063 でテストしました。しかし、それは少なくとも PowerShell 3.0 を持っている限り、Windows 7 で同様に働くべきです。管理者として実行する必要があることに注意してください。

コマンドの完全なドキュメントはここにあります docs.microsoft.com

2
2
2
2016-07-25 15:12:29 +0000

どのバージョンのWindowsでも、スワップファイルのタイムスタンプをチェックすることができます。

2
2
2
2015-07-08 20:41:51 +0000

Windows 7では、私は

net statistics workstation

WMICは睡眠時間を考慮していないし、週の間は仕事中にワークステーションをロックしたまま寝ていて、次の日に目が覚める準備ができています。

2
2
2
2018-09-12 14:34:05 +0000

PowerShellで取得するには:

Function Get-LastBoot {
        if ($Host.Version.Major -lt 3) {
            Get-WmiObject win32_operatingsystem | Select-Object CSname, @{n = 'LastBootUpTime'; e = {$_.ConverttoDateTime($_.lastbootuptime)}}
        }
        else {
            Get-CimInstance -ClassName win32_operatingsystem | Select-Object CSname, LastBootUpTime
        }
    }

ここに結果があります:

CSname LastBootUpTime
------ --------------
LAPTOP1 2018-09-07 08:57:02
1
1
1
2018-08-17 11:38:18 +0000

追加しておきたいのは、これらのコマンドはすべて ‘restart’ や ‘reboot’ が行われたときのタイムスタンプを提供してくれるということです。シャットダウンと起動が行われた時ではありません。シャットダウンとスタートの後の ‘lastbootuptime’ はシステムが実際に ‘再起動’ された時間を反映しており、実際の起動時間ではありません。つまり、shutdown/start は、suspend/hybernnate から LastBootUpTime のタイムスタンプを求めて戻ってきたのと同じ結果になります。

1
1
1
2018-05-23 16:10:40 +0000

いくつかの回答の中に net statistics workstation という記述がありますが、

net statistics server
net statistics workstation
net stats workstation | more

のどちらも Statistics since ... 行で最後に起動したときのデータが得られるはずです。なので、デフォルトでは1/1/1980 12:00にしておきます。

また、serverのように一部のコマンドを省略しても同じ結果が得られます。最後に、システムからシステムへと飛び回ると、デフォルトのCMDボックスは、コマンドのすべての結果を表示するのに十分な大きさではありません。そこで私は、ブートタイムを見るために上にスクロールするのを避けるために、出力をworkstationにパイプします。したがって、私のデフォルトコマンドは次のようになります。

1
1
1
2017-07-17 18:08:00 +0000

似たようなServerFaultの質問から イベントID 6009のWindowsシステムイベントログを検索/フィルタリングします。

Windows 10では: Event Viewer > Windows Logs > Systemの後にFilter Current Log...のアクションを実行します。

0
0
0
2019-02-21 16:36:38 +0000

マックスの答えと同じ…

for /f %%a in ('WMIC OS GET lastbootuptime ^| find "."') DO set DTS=%%a
set BOOTTIME=%DTS:~0,4%-%DTS:~4,2%-%DTS:~6,2% %DTS:~8,2%:%DTS:~10,2%
echo DTS : %DTS%
echo BOOTTIME :%BOOTTIME%

…しかし、oneliner の:

for /f %a in ('WMIC OS GET lastbootuptime ^| find "."') DO set DTS=%a && echo %DTS:~0,4%-%DTS:~4,2%-%DTS:~6,2% %DTS:~8,2%:%DTS:~10,2%

この wmi の実装は少し厄介なように見えるかもしれないが、他の powershell か systeminfo の実装と比較されるそれは非常に速く、コードで明白であるので容易にフォーマットを変えることができる。