วิธีที่จะทำให้ระบบ uptime ใน Windows? [ปิด]


308

ฉันใช้ windows 7 และ xp ฉันต้องการทราบสถานะการออนไลน์ของระบบ

คำสั่ง / โพรซีเดอร์ในการรับเวลาทำงานคืออะไร?


5
เอ่อคุณกำลังมองหาคำสั่งในพรอมต์คำสั่งหรือไม่? ถ้าคุณเป็นแล้วลองnet statistics serverคำสั่งพร้อมรับคำสั่ง
s0d4pop

13
คำถามที่จะโพสต์ใน superuser
000

1
วิธีการดึงข้อมูลเกี่ยวกับสถานะของระบบจากบรรทัดคำสั่งนั้นเกี่ยวข้องอย่างชัดเจนกับการเขียนโปรแกรม
จอห์น

คำถามนี้ตอบใน ServerFault: serverfault.com/questions/159612/…

ดูsuperuser.com/a/909172/33303หากคุณมีความสนใจในโหมดสแตนด์บาย / ไฮเบอร์เนตด้วย
Janus Troelsen

คำตอบ:


685

ต่อไปนี้เป็นแปดวิธีในการค้นหาUptimeใน Windows OS

1: โดยใช้ตัวจัดการงาน

ใน Windows Vista และ Windows Server 2008 Task Manager ได้รับการปรับปรุงให้ดีขึ้นเพื่อแสดงข้อมูลเพิ่มเติมเกี่ยวกับระบบ หนึ่งในข้อมูลเหล่านี้คือเวลาทำงานของเซิร์ฟเวอร์

  1. คลิกขวาที่แถบงานแล้วคลิกตัวจัดการงาน คุณยังสามารถคลิกCTRL+ SHIFT+ ESCเพื่อไปที่ตัวจัดการงาน
  2. ในตัวจัดการงานให้เลือกแท็บประสิทธิภาพ
  3. สถานะการออนไลน์ปัจจุบันของระบบแสดงภายใต้ System หรือ Performance ⇒ CPU สำหรับ Win 8/10

    ฟิลด์ "เวลา" ในตัวจัดการงาน

2: โดยใช้ System Information Utility

systeminfoบรรทัดคำสั่งตรวจสอบยูทิลิตี้และการแสดงสถิติระบบต่างๆเช่นวันที่ติดตั้งโปรแกรมแก้ไขด่วนที่ติดตั้งและอื่น ๆ เปิดพรอมต์คำสั่งและพิมพ์คำสั่งต่อไปนี้:

systeminfo

นอกจากนี้คุณยังสามารถ จำกัด ผลลัพธ์ให้แคบลงได้ตามต้องการ:

systeminfo | find "System Boot Time:"

ป้อนคำอธิบายรูปภาพที่นี่

3: โดยใช้ Uptime Utility

Microsoft ได้เผยแพร่เครื่องมือชื่อ Uptime.exe มันเป็นเครื่องมือบรรทัดคำสั่งง่ายๆที่วิเคราะห์ข้อมูลความน่าเชื่อถือและความพร้อมใช้งานของคอมพิวเตอร์ มันสามารถทำงานได้ในท้องถิ่นหรือจากระยะไกล ในรูปแบบที่เรียบง่ายเครื่องมือจะแสดงเวลาปัจจุบันของระบบ ตัวเลือกขั้นสูงช่วยให้คุณสามารถเข้าถึงข้อมูลโดยละเอียดเช่นการปิดระบบการรีบู๊ตระบบล่มและการติดตั้ง Service Pack

อ่าน KB ต่อไปนี้สำหรับข้อมูลเพิ่มเติมและลิงค์ดาวน์โหลด:

หากต้องการใช้งานให้ทำตามขั้นตอนเหล่านี้:

  1. ดาวน์โหลด uptime.exe จากลิงค์ด้านบนและบันทึกลงในโฟลเดอร์โดยเฉพาะอย่างยิ่งไฟล์ที่อยู่ในเส้นทางของระบบ (เช่น SYSTEM32)
  2. เปิดหน้าต่างพรอมต์คำสั่งที่ยกระดับ เมื่อต้องการเปิดพร้อมท์คำสั่งแบบยกระดับให้คลิกเริ่มคลิกโปรแกรมทั้งหมดคลิกเบ็ดเตล็ดคลิกขวาที่พร้อมท์คำสั่งแล้วคลิกเรียกใช้ในฐานะผู้ดูแลระบบ นอกจากนี้คุณยังสามารถพิมพ์ CMD ในช่องค้นหาของเมนูเริ่มและเมื่อคุณเห็น Command Prompt icon คลิกที่ภาพเพื่อเลือกถือ CTRL+ และกดSHIFTENTER
  3. นำทางไปยังตำแหน่งที่คุณวางยูทิลิตี้ uptime.exe
  4. เรียกใช้uptime.exeโปรแกรมอรรถประโยชน์ คุณสามารถเพิ่ม /? คำสั่งเพื่อรับตัวเลือกเพิ่มเติม ป้อนคำอธิบายรูปภาพที่นี่

มันไม่มีพารามิเตอร์บรรทัดคำสั่งมากมาย:

C:\uptimefromcodeplex\> uptime /?
usage: Uptime [-V]
    -V   display version

C:\uptimefromcodeplex\> uptime -V
version 1.1.0

3.1: ใช้ยูทิลิตี้ uptime เดิม

มียูทิลิตี้ "uptime.exe" รุ่นเก่ากว่า สิ่งนี้มีข้อดีคือไม่ต้องใช้. NET (นอกจากนี้ยังมีคุณสมบัติอื่น ๆ อีกมากมายนอกเหนือจากเวลาใช้งานที่ง่าย)

ลิงค์ดาวน์โหลด: เครื่องมือสถานะการออนไลน์ของเซิร์ฟเวอร์ Windows NT 4.0 (uptime.exe) (สุดท้าย x86)

C:\uptimev100download>uptime.exe /?

UPTIME, Version 1.00
(C) Copyright 1999, Microsoft Corporation

Uptime [server] [/s ] [/a] [/d:mm/dd/yyyy | /p:n] [/heartbeat] [/? | /help]
        server          Name or IP address of remote server to process.
        /s              Display key system events and statistics.
        /a              Display application failure events (assumes /s).
        /d:             Only calculate for events after mm/dd/yyyy.
        /p:             Only calculate for events in the previous n days.
        /heartbeat      Turn on/off the system's heartbeat
        /?              Basic usage.
        /help           Additional usage information.

4: โดยใช้ยูทิลิตี้ NET สถิติ

อีกวิธีที่ง่ายถ้าคุณจำได้คือใช้ข้อมูลโดยประมาณที่พบในสถิติที่แสดงโดยคำสั่ง NET STATISTICS เปิดพรอมต์คำสั่งและพิมพ์คำสั่งต่อไปนี้:

net statistics workstation

สถิติควรบอกคุณว่ามันใช้งานมานานเท่าไหร่ถึงแม้ว่าในบางกรณีข้อมูลนี้จะไม่แม่นยำเท่ากับวิธีอื่น ๆ

ป้อนคำอธิบายรูปภาพที่นี่

5: โดยใช้ตัวแสดงเหตุการณ์

อาจแม่นยำที่สุดของพวกเขาทั้งหมด แต่มันต้องมีการคลิก มันไม่แสดงจำนวนวันหรือชั่วโมงที่แน่นอนนับตั้งแต่การรีบูทครั้งล่าสุด แต่จะแสดงข้อมูลสำคัญเกี่ยวกับสาเหตุที่คอมพิวเตอร์รีบูทและเมื่อมันทำเช่นนั้น เราต้องดู Event ID 6005 ซึ่งเป็นเหตุการณ์ที่บอกเราว่าคอมพิวเตอร์เพิ่งจะทำการบูทเสร็จสิ้น แต่คุณควรตระหนักถึงความจริงที่ว่ามีอีเวนต์หลายร้อยชนิดหากคุณไม่ได้เรียนรู้เหตุการณ์ประเภทอื่น ๆ .

หมายเหตุ: BTW, รหัสเหตุการณ์ 6006 เป็นสิ่งที่บอกเราเมื่อเซิร์ฟเวอร์ล่มดังนั้นหากมีเวลาแตกต่างกันมากระหว่างเหตุการณ์ 6006 ถึง 6005 เซิร์ฟเวอร์จะหยุดทำงานเป็นเวลานาน

หมายเหตุ: คุณสามารถเปิดตัวแสดงเหตุการณ์โดยพิมพ์ eventvwr.msc ในคำสั่งเรียกใช้และคุณอาจใช้ทางลัดที่พบในโฟลเดอร์เครื่องมือการจัดการ

  1. คลิกที่ Event Viewer (Local) ในบานหน้าต่างนำทางด้านซ้าย
  2. ในบานหน้าต่างตรงกลางให้คลิกที่ประเภทข้อมูลเหตุการณ์และเลื่อนลงไปจนเห็น ID เหตุการณ์ 6005 ดับเบิลคลิกที่ ID เหตุการณ์ 6005 หรือคลิกขวาที่มันแล้วเลือกดูอินสแตนซ์ทั้งหมดของกิจกรรมนี้
  3. รายการของรหัสเหตุการณ์ 6005 ทั้งหมดจะปรากฏขึ้น คุณสามารถตรวจสอบรายการนี้ดูวันที่และเวลาของแต่ละเหตุการณ์รีบูตและอื่น ๆ
  4. เปิดเครื่องมือ Server Manager โดยคลิกขวาที่ไอคอนคอมพิวเตอร์บนเมนูเริ่ม (หรือบนเดสก์ท็อปหากคุณเปิดใช้งาน) และเลือกจัดการ นำทางไปยัง Event Viewer

ป้อนคำอธิบายรูปภาพที่นี่

5.1: บันทึกเหตุการณ์ผ่าน PowerShell

Get-WinEvent -ProviderName eventlog | Where-Object {$_.Id -eq 6005 -or $_.Id -eq 6006}

6: โดยทางโปรแกรมโดยใช้GetTickCount64

GetTickCount64 ดึงข้อมูลจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่ระบบเริ่มทำงาน

7: โดยใช้ WMI

wmic os get lastbootuptime

8: uptime.exe ใหม่สำหรับ Windows XP ขึ้นไป

เช่นเดียวกับเครื่องมือจาก Microsoft แต่เข้ากันได้กับระบบปฏิบัติการทั้งหมดจนถึงและรวมถึง Windows 10 และ Windows Server 2016 ยูทิลิตี้การอัปเดตนี้ไม่จำเป็นต้องมีพรอมต์คำสั่งยกระดับและเสนอตัวเลือกเพื่อแสดงสถานะการออนไลน์ทั้ง DD: HH: MM: SS และในรูปแบบที่มนุษย์สามารถอ่านได้ (เมื่อดำเนินการกับ-hพารามิเตอร์บรรทัดคำสั่ง)

นอกจากนี้เวอร์ชันนี้uptime.exeจะทำงานและแสดงสถานะการออนไลน์ของระบบแม้เมื่อเปิดตัวตามปกติจากภายในเซสชัน explorer.exe (เช่นไม่ได้ผ่านบรรทัดคำสั่ง) และหยุดชั่วคราวเพื่อให้ช่วงเวลาที่จะอ่าน:

ป้อนคำอธิบายรูปภาพที่นี่

และเมื่อดำเนินการเป็นuptime -h:

ป้อนคำอธิบายรูปภาพที่นี่


2
6. WMI: wmic os รับ lastbootuptime
'

3
หมายเหตุสำหรับWin XP / 2003 : 1.ไม่สามารถใช้งานได้ (ไม่แสดงในตัวจัดการงาน) 2.อาจไม่รวมเวลาบู๊ต (ไม่ใช่บนพีซีของฉัน) แต่เวลาใช้งานอย่างชัดเจน - ตรงกันข้ามกับเอาท์พุท systeminfo ของ Windows ในภายหลัง โปรดทราบว่าการส่งออก systeminfo แปลเป็นภาษาท้องถิ่นดังนั้นใน Windows ที่ไม่ใช่ภาษาอังกฤษคุณต้องแทนที่ "เวลาบูตระบบ" ตามลำดับหรือเพียงแค่เรียกใช้systeminfoและตรวจสอบผลลัพธ์ทั้งหมด
FelixD

48
ตอนนี้นั่นคือสิ่งที่ฉันเรียกว่าคำตอบผ่าน! :-)
Andrew Steitz

2
โปรดทราบว่าสถานะการออนไลน์ที่รายงานจาก "1: โดยใช้ตัวจัดการงาน" อาจแตกต่างจากเวลาบูตเนื่องจากไม่รวมเวลาที่ใช้ในสถานะไฮเบอร์เนต เช่นพีซีของฉันถูกบูทสองวันที่ผ่านมาและรายงานเวลาทำงานเพียง 8:20 เท่านั้น
user1708042

3
ตัวเลือก 1 ดูเหมือนจะหายไปอีกครั้งในตัวจัดการงานของWindows 8
BlaM

15

ฉันใช้ตัวอย่างข้อมูล PowerShell นี้:

function Get-SystemUptime {
    $operatingSystem = Get-WmiObject Win32_OperatingSystem
    "$((Get-Date) - ([Management.ManagementDateTimeConverter]::ToDateTime($operatingSystem.LastBootUpTime)))"
}

ซึ่งให้ผลดังนี้:

PS> Get-SystemUptime
6.20:40:40.2625526

วิธีการเรียก powershell นี้จากภายในหลามบน windows?
Ciasto piekarz


7

สองวิธีในการทำ ..

ตัวเลือกที่ 1:

1.  Go to "Start" -> "Run".

2.  Write "CMD" and press on "Enter" key.

3.  Write the command "net statistics server" and press on "Enter" key.

4.  The line that start with "Statistics since …" provides the time that the server was up from.


  The command "net stats srv" can be use instead.

ตัวเลือก 2:

เครื่องมือ Uptime.exe ช่วยให้คุณสามารถประเมินความพร้อมใช้งานของเซิร์ฟเวอร์ด้วย Windows NT 4.0 SP4 หรือสูงกว่า

http://support.microsoft.com/kb/232243

หวังว่ามันจะช่วยคุณ !!

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.