วิธีที่ง่ายที่สุดในการค้นหาว่าคอมพิวเตอร์เปิด Windows นานเท่าใด
วิธีที่ง่ายที่สุดในการค้นหาว่าคอมพิวเตอร์เปิด Windows นานเท่าใด
คำตอบ:
ค้นหา "เวลาบูตระบบ"
วัน: 10 ชั่วโมง: 10 นาที: 10 วินาที: 10
เพื่อผลลัพธ์ที่สั้นกว่าคุณสามารถใช้:
systeminfo | find "Boot Time"
systeminfo /S
* machinename * `| หา "เวลา" `
มีเครื่องมือบรรทัดคำสั่งที่ดีจาก Microsoft uptime.exe :
สิ่งที่ดีกับเครื่องมือนี้คือมันใช้งานได้เร็วจริงๆ
สถานะการออนไลน์ [เซิร์ฟเวอร์] [/ s] [/ a] [/ d: mm / dd / yyyy | / p: n] [/ heartbeat] [/? | / help]
ชื่อเซิร์ฟเวอร์หรือที่อยู่ IP ของเซิร์ฟเวอร์ระยะไกลในการประมวลผล
/ s แสดงเหตุการณ์และสถิติของระบบกุญแจ
/ a แสดงเหตุการณ์ความล้มเหลวของแอปพลิเคชัน (ถือว่า / s)
/ d: คำนวณเฉพาะเหตุการณ์หลังจาก mm / dd / yyyy
/ p: คำนวณเฉพาะเหตุการณ์ที่เกิดขึ้นใน n วันก่อนหน้า
/ heartbeat เปิด / ปิดการเต้นของหัวใจของระบบ
/? การใช้งานขั้นพื้นฐาน
/ help ข้อมูลการใช้งานเพิ่มเติม
เปิดพรอมต์คำสั่งและพิมพ์:
net stats srv | find "Statistics"
ตัวอย่างผลลัพธ์:
>net stats srv | find "Statistics"
Server Statistics for \\4IFS-SANDER
Statistics since 22/07/2009 10:14:14
ที่มา ( MS KB )
แก้ไข : ที่จริงแล้วสิ่งนี้จะบอกคุณวันที่และเวลาเมื่อพีซีเพิ่มขึ้นไม่ใช่ระยะเวลา
ใน Windows 7 / Windows Server 2008 ขึ้นไปข้อมูลนี้จะปรากฏในตัวจัดการงานภายใต้ "แท็บประสิทธิภาพ"
สิ่งนี้สามารถทำได้เร็วกว่านั้นโดยใช้บรรทัดคำสั่งและทำงานในกรณีที่คุณอาจมีปัญหา WMI ทำให้คุณไม่สามารถเรียกใช้ systeminfo ได้
หากคุณต้องการค้นหาสิ่งนี้จากระยะไกลคุณสามารถเรียกใช้ได้
SYSTEMinfo / s SERVERNAME | ค้นหา "เวลา:"
จากบรรทัดคำสั่ง
คำสั่งดังต่อไปนี้ให้เวลารีบูตครั้งล่าสุดสำหรับระบบระยะไกล:
systeminfo /s server_name | find "System Boot Time"
หากคุณลองชุดทรัพยากรของ Windows Server 2000 หรือ 2003
srvinfo -ns [\\\server] | Findstr "Time"
หมายเหตุ: Srvinfo.exe จะไม่ทำงานบน Windows เวอร์ชั่น 64 บิตเนื่องจากเป็น 16 บิต
ใช้ SYSTEMINFO กับ PowerShell
สำหรับผู้ที่ชื่นชอบการใช้ PowerShell คุณสามารถใช้คำตอบข้างบนแล้วห่อsysteminfo
ในฟังก์ชัน PowerShell เพื่อรับDateTime
ผลลัพธ์เมื่อเซิร์ฟเวอร์บูตครั้งสุดท้าย:
function Get-ComputerBootTime {
param($ComputerName = (hostname))
$SystemInfo = & systeminfo /s $ComputerName | Select-String "System Boot Time")
if($SystemInfo -match "[\d/]+,\s+\S+"){
return (Get-Date $matches[0])
}
}
จากนั้นเรียกใช้ฟังก์ชันตัวอย่างเช่น:
[PS]> $BootTime = Get-ComputerUptime -ComputerName MYSERVER
ในการรับUptimeสำหรับเซิร์ฟเวอร์คุณเปรียบเทียบกับเวลาปัจจุบัน:
[PS]> $UpTime = (Get-Date) - $BootTime
นี่คือ a TimeSpan
ซึ่งรวมถึงคุณสมบัติเช่นTotalDays
:
[PS]> $UpTime.TotalDays
14.1827364
บางครั้งคำสั่ง uptime อื่นแสดงเวลาที่ไม่ถูกต้องดังนั้นฉันจึงใช้คำสั่งนี้เพื่อแสดง LOGON TIME
query USER
หรือสั้นกว่า:
quser
ซึ่งพิมพ์บางสิ่งเช่น:
C:\Users\eflorinescu>query USER
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
>eflorinescu console 2 Active 2+23:44 5/7/2018 8:25 AM