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 wmic
veya belki cmd
komutları.
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 wmic
veya belki cmd
komutları.
Yanıtlar:
systeminfo
emri, 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:
systeminfo
lokalize edilir. Bu nedenle "Boot Time"
, yalnızca Windows ingilizce sürümleri için geçerlidir.
systeminfo | find /i "Systemstartzeit"
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
systeminfo
Tarihi biçimlendirirken alternatif olandan daha hızlı olma avantajına sahiptir (ki wmic
bu 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 statistics
burada 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):
(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.
wmic
, Görev Yöneticisi ve bunların systeminfo
tü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.
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 CSName
da kullanmak zorunda kalacaksın PSComputerName
, ki bu benim için çalışıyor gibi.
20121217175810.414696+120
Zaman
CIM_DATETIME
standardında gerekli biçim olan. Bu var yyyymmddHHMMSS.mmmmmmsUUU
24 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/…
Alex'in işaret ettiği gibi , /sleepstudy
komutun 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.html
bir 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)
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
set BOOTTIME
çalıştığına dair bir açıklama içeriyorsa daha iyi olurdu .
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
Benzer bir ServerFault sorusundan , Olay Kimliği için Windows Sistem Olay Günlüğünü arayın / filtreleyin 6009
.
Windows 10'da: Event Viewer > Windows Logs > System
ve ardından Filter Current Log...
Eylem.
Bunun için PowerShell'i kullanabilirsiniz.
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
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
Birkaç cevapta bahsetti net statistics workstation
ve 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:00
kullanırken tarih için geri dönecektir server
. Bu yüzden varsayılan olacak workstation
.
Ayrıca bazı komutları kısaltabilir net stats workstation
ve 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
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.
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.