Windows'un en son ne zaman yeniden başlatıldığını nasıl öğrenebilirim?


105

Windows 7 çalıştıran bilgisayarımın en son ne zaman yeniden başlatıldığını nasıl bilebilirim?

Olay günlüğünü aramayı içermeyen bir çözümü tercih ediyorum, ancak bunun gibi wmicveya belki cmdkomutları.

Yanıtlar:


164

systeminfoemri, ihtiyacınız olanı neredeyse doğru. İngilizce Windows 7'de ayrıca şunları da yapabilirsiniz:

systeminfo | find /i "Boot Time"

Veya WMIC'in yardımıyla :

wmic os get lastbootuptime

Windows 7 ve Windows XP arasındaki temel fark, Windows 7’de Microsoft’un yalnızca son açılış zamanını gösterebilir.


Ayrıca Görev Yöneticisi'nde:

görüntü tanımını buraya girin


Ayrıca, son sıfırlama herhangi birikimli listesi var s ?
Royi Namir

2
@RoyiNamir: Yeniden başlatılan bazı googling listesiyle (çok benzer görünüyor):Get-EventLog -LogName System | where { ($_.InstanceId -bAnd 0xFFFF) -eq 6006 }
m0nhawk

powershell ..... var mı?
Royi Namir

3
Unutmayın systeminfolokalize edilir. Bu nedenle "Boot Time", yalnızca Windows ingilizce sürümleri için geçerlidir.
Markus Mitterauer

1
systeminfo | find /i "Systemstartzeit"
Almanlar

24

Bunu yapmanın başka bir yolu, hem Windows XP hem de Windows 7'de çalışan aşağıdaki komut satırını kullanmaktır:

net statistics workstation

systeminfoTarihi biçimlendirirken alternatif olandan daha hızlı olma avantajına sahiptir (ki wmicbu değildir). Ayrıca, bu komutu bir bilgisayarın hatalarını ayıklamak için kullanıyorsanız yararlı olabilecek başka bilgiler de edinebilirsiniz (özellikle sorduğunuzdan cmd, bunu programlı olarak yapmadığınızı farz ediyorum).

Komutla ilgili daha fazla bilgiyi net statisticsburada bulabilirsiniz: http://technet.microsoft.com/en-us/library/bb490714.aspx

Sonuçlara bir örnek (Windows 7 Pro SP1 x64'ün bir Fransız kopyasını kullanarak, kullanıcı dili komut satırı için çok önemli değil):

örnek

(bilgisayar adı bilerek bulanıktır)


Sistemin çalışma süresini belirlerken doğruluk hakkında http://en.wikipedia.org/wiki/Uptime hakkında daha fazla ayrıntı .


Önemli not : bu yöntem, çalışma zamanını değil, bilgisayarın en son ne zaman önyükleneceğini belirler. Eğer uyku / hazırda bekletme modunu kullanırsanız 2 sayı farklı olacaktır.


Bunun sistem bilgisini veya wmic'yi kullanmakla aynı şeyi okumadığına dair herhangi bir fikir ... muhtemelen ihmal edilebilir, ancak sistemimde 2 dakikadan fazla farklılık gösterir
Anthony Shaw

Bilgisayarımda da 40 saniye kadar bir fark yok. Neden tam olarak aynı olmadığı hakkında hiçbir fikrim yok, sanırım hizmet biraz daha açılıyor. Bazı ilginç bilgiler en.wikipedia.org/wiki/Uptime
dnLL

2
Maden üzerinde dokuz aydan fazla farklılık var :-) Bu tek doğru cevap. Son önyüklemenin gerçek tarih damgasını verir (veya önyüklemeden sonra ilişkili hizmet ne zaman başlatılırsa, buna çok yakındır) wmic, Görev Yöneticisi ve bunların systeminfotümü, PC'nin geçtiği keneler sayısına göre şimdiki zamandan geriye doğru sayılır çalışan. Ancak bilgisayarınızı, benim gibi uyumaya (veya hazırda bekletme moduna alma) çok fazla uyutursanız, gerçek toplam çalışma süresi, son önyüklemeden bu yana geçen süreden çok daha az (son birkaç ay boyunca benim davamda otuz gün) Bu hesaplama tamamen.
Cameron,

Teşekkür ederim @cameron, cevabımın sonuna bir not ekledim. Asıl soru, bilgisayarın ne zaman başladığını ve çalışma süresini değil, bu önemli bir ayrıntıydı. Vikipedi, bağladığım çalışma süresi makalesindeki farklılığından biraz söz ediyor.
dnLL

Bu gerçekten en son "önyükleme" zamanı değil - hangisini sorguladığına bağlı olarak Sunucu veya İş İstasyonu servisinin başladığı saat. Bunlar düzenli bir Windows oturumu sırasında hiç durmadığı için, son önyükleme süresinin uygun bir tahminidir.
oldmud0

18

Sınıfın LastBootUpTimeözelliği var Win32_OperatingSystem. WMIC’i şu komutla kullanabilirsiniz:

wmic os get lastbootuptime

Veya Powershell kullanıyorsanız, saati sinir bozucu WMI tarih / saat formatından daha okunabilir bir şeye dönüştürebilirsiniz:

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

PowerShell'in sonraki sürümlerinde, değeri otomatik olarak tarih saat olarak döndürecek Get-CimInstance'ı kullanabileceğinizi unutmayın:

Get-CimInstance -Class Win32_OperatingSystem | Select-Object LastBootUpTime

Tahriş edici olan tek şey Get-CimInstance'ın bazen bazı sistem alanlarının adını, burada __SERVER gibi WMI nesnelerinden değiştirmesidir. Ya CSNameda kullanmak zorunda kalacaksın PSComputerName, ki bu benim için çalışıyor gibi.


20121217175810.414696+120Zaman
ayırmak

7
@Royi Evet, WMI zaman damgaları aptaldır. Bu bir var CIM_DATETIMEstandardında gerekli biçim olan. Bu var yyyymmddHHMMSS.mmmmmmsUUU24 saat süre ile,. Burada, son yeniden başlatma zamanınız 17 Aralık 2012, saat 17:58. msdn.microsoft.com/en-us/library/windows/desktop/…
Bacon

1
Get-wmiobject yöntemini kullanmanın pratik avantajı, uzak bilgisayarların önyükleme zamanlarını da almayı önemsiz kılmasıdır. Komutunuza "-computer <computername>" komutunu ekleyin (borudan önce)
camster342

8

Dışarıdaki Windows 10 kullanıcıları için ....

Sistem Özellikleri Windows 10 - Performans Süresi


1
Bu, sistemin OP istediği gibi başlatıldığı zamanı değil , çalışma süresini (yani sistemin ne kadar süre çalıştığını gösterir) gösterir.
Dawid Ferenczy Rogožan

1
Doğru, ama bu hala faydalı.
tbc0

Bugün Windows 10 notebookum sahte bir çalışma süresi gösteriyor. Dün gece kapattım, bir saatten daha kısa bir süre önce çalıştırdım ve Görev Yöneticisi 5: 19: 40: 10 için hazır olduğunu söyledi.
tbc0

Windows 10 aslında kapandığında kapanmıyor, tam olarak nedenini unuttum. Ancak, çalışma süresi zamanlayıcısının sıfırlanmasını istiyorsanız, yeniden başlatmanız gerekir.
Daniel Hayes,

3

Alex'in işaret ettiği gibi , /sleepstudykomutun Windows 8.1'e kadar eklenmemiş olduğunu lütfen unutmayın . / systempowerreport bunun yerine işe yarayabilir.

Bu diğer cevapların bazılarının benim için hiç çalışmadığını, örneğin olay günlüğünü aramak gibi bazı girişlerin her zaman eksik olduğunu unutmayın. @ Florisz'ın cevabı da bu konuda doğrudur. İşte benim çözümüm:

Yönetici cmd kabuğunda aşağıdaki komutu çalıştırın:

powercfg /sleepstudy /output sleepstudy.html

Ardından dosyayı sleepstudy.htmlbir tarayıcıda açın. Kapanma / yeniden başlatma / bekleme / hazırda bekletme / hazırda bekletme modları ile ilgili son üç gündeki inanılmaz istatistiklerle karşılaşacaksınız . (yani, gerekirse periyodik olarak çalıştırın)

Bir çıktı örneği: (AFAIR, Showdown (Hybrid)hızlı başlatma anlamına gelir)

görüntü tanımını buraya girin

Kaynak / Belgeler | Ayrıca ilgili


1
Windows 10'da aradığım şey buydu! Yeniden başlatmam, normalde kapatırım. LastBootTime sadece Windows 10 üzerinde yeniden başlatılır atıfta
tbc0

2

Windows 7'de tercih ederim

net statistics workstation

WMIC uyku saatini hesaba katmıyor ve iş istasyonumu hafta içi uykuya daldım, ertesi gün uyanmaya hazır halde bıraktım.


2

toplu iş dosyasında wmic ile ancak okunabilir biçimde önyükleme süresi elde etmenin başka bir yolu:

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%

çıktı :

DTS: 20170308073729.491206 + 060

BOOTTIME: 2017-03-08 07:37


1
Bu cevap nasıl set BOOTTIMEçalıştığına dair bir açıklama içeriyorsa daha iyi olurdu .
CVn

2

PowerShell'den almak için:

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
        }
    }

İşte sonuç:

CSname  LastBootUpTime
------  --------------
LAPTOP1 2018-09-07 08:57:02

1

Hemen hemen tüm Windows sürümlerinde, takas dosyasındaki zaman damgasını kontrol edebilirsiniz.

dir /a:hc:\pagefile.sys


1
Sanmıyorum En azından Windows 10'da, kontrol ettiğimde, takas dosyası süresi, açılış saatinden daha yeni idi.
tbc0


1

Bunun için PowerShell'i kullanabilirsiniz.

Kapat


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

Bu size kayıtlı kapatma zamanlarının bir listesini verecektir.

Alternatif komut, uzak bağlantılar için daha iyi optimize edilmiştir:

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

Örnek çıktı:

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

Başlamak


Aşağıdaki komut size kayıtlı başlangıç ​​zamanlarının bir listesini verecektir.

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

Alternatif komut, uzak bağlantılar için daha iyi optimize edilmiştir:

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

Örnek çıktı:

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

Bunu PowerShell 5.1 ve Windows 10.0.15063'te test ettim. Ancak en az PowerShell 3.0'a sahip olduğunuz sürece, Windows 7'de de çalışması gerekir. Yönetici olarak çalıştırmanız gerektiğini unutmayın.

Komutun tüm belgelerini burada bulabilirsiniz: docs.microsoft.com


Windows 10'da benim için çalışmadı. Yönetici olarak bile değil. Bkz snag.gy/HcEn8j.jpg
tbc0

1

Birkaç cevapta bahsetti net statistics workstationve her ikisini de kaydettim:

net statistics server

ve

net statistics workstation

Statistics since ...hattaki son önyükleme ile ilgili verileri sağlamalıdır .

Ancak, bazı işletim sistemi sürümleri (Svr2008 / 6.0 gibi) 1/1/1980 12:00kullanırken tarih için geri dönecektir server. Bu yüzden varsayılan olacak workstation.

Ayrıca bazı komutları kısaltabilir net stats workstationve aynı sonuçları alabilirsiniz. Son olarak, sistemden sisteme atlarsanız, varsayılan CMD kutusu komuttaki tüm sonuçları gösterecek kadar büyük değildir. Bu yüzden moreönyükleme süresini görmek için yukarı kaydırma yapmaktan kaçınmak için çıktıyı borulayacağım. Bu nedenle, benim varsayılan komut:

net stats workstation | more

komuta


1

Eklemek istiyorum ki, tüm bu komutlar gerçekten 'yeniden başlatma' veya 'yeniden başlatma' yapıldığında size zaman damgası veriyor. Ve bir kapatma ve başlatma yapıldığında değil. Kapattıktan ve 'lastbootuptime' başlattıktan sonra, sistemin gerçek başlatma süresini değil, gerçekten 'yeniden başlatıldığı' zamanı yansıtacaktır. Bu nedenle kapatma / başlatma, LastBootUpTime zaman damgası için askıya alma / hybernnate öğesinden geri gelmekle aynı sonucu verir.


0

Max cevabıyla aynı ...

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%

... ama oneliner'da:

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%

Bu wmi uygulaması biraz dağınık görünebilir, ancak diğer güç kaynağı veya sistem bilgileri uygulamalarına kıyasla çok hızlıdır ve kodda açık olduğu için formatı kolayca değiştirebilirsiniz.

Teşekkürler Max.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.