Windowsが最後に再起動された時期を確認するにはどうすればよいですか?


105

Windows 7を実行しているコンピューターが最後に再起動された時期を知るにはどうすればよいですか?

私は、イベントログを検索するのではなく、コマンドwmiccmdコマンドのようなものを検索するソリューションを好みます。

回答:


164

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

systeminfo | find /i "Boot Time"

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

wmic os get lastbootuptime

Windows 7とWindows XPの主な違いは、Windows 7ではMicrosoftが最後の起動時間しか表示できないことです。


タスクマネージャーでも:

ここに画像の説明を入力してください


また、最後のリセット累積リストはありますか?
ロイナミール

2
@RoyiNamir:再起動のいくつかのグーグルリスト(非常によく似ています):Get-EventLog -LogName System | where { ($_.InstanceId -bAnd 0xFFFF) -eq 6006 }
m0nhawk

それはpowershell .....?
ロイナミール

3
systeminfoローカライズされていることに注意してください。したがって"Boot Time"、英語版のWindowsにのみ当てはまります。
マルクスミッテラウアー

1
systeminfo | find /i "Systemstartzeit"ドイツ語
schoetbi

24

これを行うもう1つの方法は、Windows XPとWindows 7の両方で機能する次のコマンドラインを使用することです。

net statistics workstation

systeminfo日付をフォーマットしている間は、代替フォーマットよりも高速であるという利点があります(フォーマットwmicしません)。また、コンピューターのデバッグにこのコマンドを実際に使用している場合に役立つ他のいくつかの情報も取得します(特にを求めているためcmd、プログラムでこれを行っていないことを前提としています)。

net statisticsコマンドの詳細については、http//technet.microsoft.com/en-us/library/bb490714.aspxを参照してください。

結果の例を次に示します(Windows 7 Pro SP1 x64のフランス語版を使用すると、ユーザー言語はコマンドラインにとって重要ではありません)。

例

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


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


重要な注意:この方法は、コンピューターの稼働時間ではなく、コンピューターが最後にブートされた時間を決定します。sleep / hibernateを使用する場合、2つの数字は異なります。


これは、それはおそらく無視できる程度だが、それが2分以上で私のシステムでは異なり...システム情報やWMICを使用するのと同じ情報を読み取ることはありません理由を任意のアイデア
アンソニー・ショー

私のコンピューターでもaobut 40秒間は異なります。なぜそれがまったく同じではないのか、私にはわからない。私はこのサービスが少し後に起動するだけだと思う​​。上のいくつかの興味深い情報en.wikipedia.org/wiki/Uptime
dnLL

2
私の場合は9か月以上異なります:-)これが唯一の正しい答えです。最後のブートの実際の日付スタンプ(またはブート後に関連するサービスが開始されたとき、非常に近い時間)を提供しますがwmic、タスクマネージャーなどはsysteminfoすべて、PCのティック数によって現在の時刻から逆方向にカウントされるようですランニング。しかし、私と同じように、コンピューターをたくさんスリープ(または休止状態)にすると、実際の合計実行時間は前回のブートからの時間(私の場合は過去数か月で30日間のみ)よりもはるかに短くなります。その計算は完全に。
キャメロン

@cameron、ありがとうございます。答えの最後にメモを追加しました。元の質問は、コンピュータの起動時間ではなく、実際にコンピュータが起動した時間に関するものであったため、これは重要な詳細です。ウィキペディアは、私がリンクした稼働時間の記事の違いについて多少言及しています。
dnLL

これは実際には最後の「ブート」時間ではありません-統計情報を照会するサーバーまたはワークステーションサービスが開始した時間です。これらは通常のWindowsセッション中に停止することはないため、前回のブート時間の便利な近似値です。
-oldmud0

18

クラスのLastBootUpTimeプロパティがありWin32_OperatingSystemます。次のコマンドでWMICを使用できます。

wmic os get lastbootuptime

または、Powershellを使用している場合は、時間を厄介なWMI日時形式よりも読みやすいものに変換できます。

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

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

Get-CimInstance -Class Win32_OperatingSystem | Select-Object LastBootUpTime

唯一のいらいらすることは、Get-CimInstanceが一部のシステムフィールドの名前をWMIオブジェクト(ここでは__SERVERなど)から変更する場合があることです。CSNameまたはのいずれかを使用する必要PSComputerNameがあります。


20121217175810.414696+120私は時間をカルクする上出来の計算が必要だと思う
Royi Namir

7
@Royiええ、WMIタイムスタンプはバカです。これCIM_DATETIMEは、標準で必要な形式です。それはですyyyymmddHHMMSS.mmmmmmsUUU24時間の時間を使って、。ここで、最後の再起動時間は2012年12月17日午後5時58分です。 msdn.microsoft.com/en-us/library/windows/desktop/...
ベーコンビット

1
get-wmiobjectメソッドを使用すると、リモートコンピューターの起動時間も簡単に取得できるため、便利です。コマンドに「-computer <computername>」を追加するだけです(パイプの前)
camster342

8

Windows 10ユーザー向け...

システムプロパティWindows 10-パフォーマンスアップタイム


1
これは、OPが要求したとおりにシステムが起動された時間ではなく、稼働時間(つまり、システムの実行時間)を示します。
ダウィドフェレンツィーロゴザン

1
本当ですが、これはまだ有用です。
tbc0

今日、私のWindows 10ノートブックはアップタ​​イムの偽りを示しています。昨夜シャットダウンし、1時間以内に電源を入れたところ、タスクマネージャーは5:19:40:10に起動したと言います。
tbc0

Windows 10はシャットダウンしても実際にはシャットダウンしません。正確にその理由を忘れています。ただし、アップタイムタイマーをリセットするには、再起動する必要があります。
ダニエルヘイズ

3

Alexが指摘したように、/sleepstudyコマンドはWindows 8.1まで追加されなかったことに注意してください。代わりに/ systempowerreportが機能する場合があります。

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

管理者のcmdシェルで、次のコマンドを実行します。

powercfg /sleepstudy /output sleepstudy.html

次にsleepstudy.html、ブラウザでファイルを開きます。過去3日間のシャットダウン/リブート/スタンバイ/休止状態に関する驚くほど整理された統計が表示されます。(したがって、必要に応じて定期的に実行してください)

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

ここに画像の説明を入力してください

ソース/ドキュメント | 関連する


1
これは私がWindows 10で探していたものです!再起動せず、通常はシャットダウンします。LastBootTimeは、Windows 10での再起動のみを参照します
。– tbc0

2

Windows 7では私が好む

net statistics workstation

WMICはスリープ時間を考慮していません。また、平日は仕事中にワークステーションをロックしたままにしておき、翌日に目覚める準備をしています。


2

バッチファイルで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

起動時間:2017-03-08 07:37


1
この答えは、それがどのようにset BOOTTIME機能するかの説明が含まれていればより良いでしょう。
CVn

2

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

ほぼすべてのバージョンのウィンドウで、スワップファイルのタイムスタンプを確認できます。

dir /a:hc:\pagefile.sys


1
そうは思いません。少なくともWindows 10では、チェックしたとき、スワップファイルの時間はブート時間よりも新しいものでした。
tbc0


1

これにはPowerShellを使用できます。

シャットダウン


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

起動


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

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にあります。


Windows 10では動作しませんでした。管理者としても。snag.gy/HcEn8j.jpg
tbc0を

1

いくつかの回答が言及されてnet statistics workstationおり、私は両方に注意しました:

net statistics server

そして

net statistics workstation

Statistics since ...回線の最後の起動に関するデータを提供する必要があります。

ただし、一部のOSバージョン(Svr2008 / 6.0など)は1/1/1980 12:00、を使用すると日付を返しserverます。だから私はデフォルトになりworkstationます。

また、次のようなコマンドの一部を省略してnet stats workstation、同じ結果を得ることができます。最後に、システムからシステムにジャンプする場合、デフォルトのCMDボックスはコマンドからのすべての結果を表示するのに十分な大きさではありません。したがってmore、ブート時間を確認するためにスクロールアップしないように出力をパイプします。したがって、私のデフォルトのコマンドは次のとおりです。

net stats workstation | more

コマンド


1

これらのコマンドはすべて、「再起動」または「再起動」が行われたときにタイムスタンプを本当に提供することを付け加えます。シャットダウンと開始が行われたときではありません。シャットダウンして起動した後、「lastbootuptime」は実際の起動時間ではなく、システムが実際に「再起動」された時間を反映します。そのため、シャットダウン/開始は、LastBootUpTimeタイムスタンプでサスペンド/ハイバネートから戻るのと同じ結果になります。


0

Max answerと同じ...

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の実装に比べて非常に高速であり、コード内で明示的であるため、フォーマットを簡単に変更できます。

マックスありがとう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.