जवाबों:
systeminfo
कमांड लगभग वही है जो आपको चाहिए। अंग्रेजी विंडोज 7 पर आप भी कर सकते हैं:
systeminfo | find /i "Boot Time"
या WMIC की मदद से :
wmic os get lastbootuptime
विंडोज 7 और विंडोज एक्सपी में मुख्य अंतर यह है कि विंडोज 7 में माइक्रोसॉफ्ट केवल अंतिम बूट समय दिखा सकता है।
कार्य प्रबंधक में भी:
systeminfo
स्थानीयकृत है। तो "Boot Time"
केवल विंडोज के अंग्रेजी संस्करणों के लिए सच है।
systeminfo | find /i "Systemstartzeit"
जर्मन के लिए
ऐसा करने का एक अन्य तरीका निम्न कमांड-लाइन का उपयोग करना है जो विंडोज एक्सपी और विंडोज 7 दोनों में काम करता है:
net statistics workstation
systeminfo
तारीख (जो wmic
नहीं करता है) को प्रारूपित करते समय विकल्प से तेज होने का फायदा होता है। आपको कुछ अन्य संकेत भी मिलते हैं जो उपयोगी हो सकते हैं यदि आप वास्तव में कंप्यूटर को डीबग करने के लिए इस कमांड का उपयोग कर रहे हैं (क्योंकि आप विशेष रूप से पूछ रहे हैं cmd
, तो मैं मान रहा हूं कि आप इस प्रोग्राम को नहीं कर रहे हैं)।
आप net statistics
यहां कमांड पर अधिक जानकारी पा सकते हैं : http://technet.microsoft.com/en-us/library/bb490714.aspx
यहां परिणाम का एक उदाहरण है (विंडोज 7 प्रो SP1 x64 की एक फ्रांसीसी प्रतिलिपि का उपयोग करके, उपयोगकर्ता-भाषा कमांड-लाइन के लिए बहुत मायने नहीं रखती है):
(कंप्यूटर का नाम जानबूझकर धुंधला है)
सिस्टम अपटाइम का निर्धारण करते समय सटीकता के बारे में http://en.wikipedia.org/wiki/Uptime पर अधिक विवरण ।
महत्वपूर्ण नोट : यह विधि निर्धारित करती है कि कंप्यूटर अंतिम बार बूट किया गया था, न कि उसका अपटाइम। यदि आप स्लीप / हाइबरनेट का उपयोग करते हैं तो 2 नंबर अलग होंगे।
wmic
, टास्क मैनेजर, और systeminfo
सभी वर्तमान समय से पीछे की ओर गिने जाते हैं, जिससे पता चलता है कि पीसी कितनी संख्या में है। चल रहा है। लेकिन अगर आप अपने कंप्यूटर को सोने के लिए (या हाइबरनेट) लगाते हैं, तो जैसे मैं करता हूं, वास्तविक कुल चलने का समय पिछले बूट (पिछले कई महीनों में मेरे मामले में केवल तीस दिन) की तुलना में बहुत कम है। वह गणना पूरी तरह से।
वर्ग की 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 -Class Win32_OperatingSystem | Select-Object LastBootUpTime
केवल परेशान करने वाली बात यह है कि Get-CimInstance कभी-कभी WMI ऑब्जेक्ट्स से कुछ सिस्टम फ़ील्ड का नाम बदल देगा, जैसे कि __SERVER यहाँ। आपको CSName
या तो उपयोग करना होगा या PSComputerName
, जो मेरे लिए काम करता है।
20121217175810.414696+120
मुझे लगता है कि मुझे कैल्क टाइम के लिए अच्छे कैलकुलेटर की जरूरत है
CIM_DATETIME
, जो मानक द्वारा आवश्यक प्रारूप है। यह yyyymmddHHMMSS.mmmmmmsUUU
24 घंटे के समय का उपयोग कर रहा है। यहां, आपका अंतिम रीबूट समय 17 दिसंबर, 2012 को शाम 5:58 बजे है। msdn.microsoft.com/en-us/library/windows/desktop/…
कृपया ध्यान दें कि के रूप में द्वारा बताया एलेक्स/sleepstudy
आदेश नहीं जोड़ा गया था Windows 8.1 जब तक। / systempowerreport इसके बजाय काम कर सकता है।
ध्यान दें कि इनमें से कुछ अन्य उत्तरों ने मेरे लिए कभी काम नहीं किया, जैसे कि उदाहरण के लिए इवेंट-लॉग की खोज हमेशा कुछ प्रविष्टियों को याद कर रही थी। @ फ्लोरिसज का जवाब भी उस संबंध में सही है। यहाँ मेरा समाधान है:
एक व्यवस्थापक cmd शेल में, निम्न कमांड चलाएँ:
powercfg /sleepstudy /output sleepstudy.html
फिर फाइल sleepstudy.html
को ब्राउजर में खोलें । आपको पिछले तीन दिनों से शटडाउन / रिबूट / स्टैंडबाय / हाइबरनेशन के बारे में आश्चर्यजनक रूप से संगठित आंकड़ों के साथ बधाई दी जाएगी । (इसलिए, समय-समय पर ज़रूरत पड़ने पर चलाएं)
आउटपुट का एक उदाहरण: (AFAIR, Showdown (Hybrid)
जिसका अर्थ है तेज स्टार्टअप)
अभी तक एक बैच फ़ाइल में विकी के साथ बूट समय पाने के लिए एक और तरीका है, लेकिन मानव पठनीय रूप में:
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
set BOOTTIME
काम करता है।
इसे 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
एक समान सर्वरफॉल्ट प्रश्न से , ईवेंट आईडी के लिए विंडोज सिस्टम इवेंट लॉग को खोजें / फ़िल्टर करें 6009
।
विंडोज 10 पर: Event Viewer > Windows Logs > System
और फिर Filter Current Log...
एक्शन।
इसके लिए आप 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 पर परीक्षण किया है। लेकिन यह विंडोज 7 पर भी काम करना चाहिए, जब तक आपके पास कम से कम पावरस्ले 3.0 हो। ध्यान दें कि आपको इसे व्यवस्थापक के रूप में चलाने की आवश्यकता है।
आपको कमांड के लिए पूर्ण प्रलेखन यहां मिलेगा : docs.microsoft.com
उत्तर के एक जोड़े का उल्लेख है 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
और समान परिणाम प्राप्त कर सकते हैं । अंत में, यदि आप सिस्टम से सिस्टम के चारों ओर कूदते हैं, तो डिफ़ॉल्ट सीएमडी बॉक्स कमांड से सभी परिणाम दिखाने के लिए पर्याप्त बड़ा नहीं है। इसलिए मैं more
बूट समय देखने के लिए स्क्रॉल करने से बचने के लिए आउटपुट को पाइप करूंगा । इसलिए, मेरी डिफ़ॉल्ट कमांड है:
net stats workstation | more
मैं जोड़ना चाहता हूं, कि ये सभी कमांड वास्तव में आपको टाइमस्टैम्प देते हैं जब एक 'रिस्टार्ट' या 'रिबूट' किया जाता है। और नहीं जब एक शटडाउन और शुरू किया जाता है। शटडाउन और शुरू करने के बाद 'lastbootuptime' उस समय को प्रतिबिंबित करेगा जब सिस्टम वास्तव में 'पुनरारंभ' हो जाता है न कि वास्तविक बूट अप समय। इसलिए शटडाउन / स्टार्ट, लास्टबूटअप टाइमस्टैम्प के लिए सस्पेंड / हाइबरनेट से वापस आने के समान परिणाम देता है।
अधिकतम उत्तर के रूप में भी ...
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%
... लेकिन ऑनलाइनर में:
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 कार्यान्वयन थोड़ा गड़बड़ दिखाई दे सकता है, लेकिन यह अन्य शक्तियां या systeminfo कार्यान्वयन की तुलना में बहुत तेज़ है और कोड में स्पष्ट होने के बाद से आप प्रारूप को आसानी से बदल सकते हैं।
धन्यवाद मैक्स।