如何使用PowerShell獲取系統執行時間?
要使用PowerShell獲取Windows系統的執行時間,我們可以使用類名為Win32_OperatingSystem的CIM例項方法。一旦使用該類,就有一個名為LastBootupTime的屬性,它顯示計算機上次重啟的日期。
示例
Get-CimInstance -ClassName Win32_OperatingSystem | Select LastBootUpTime
輸出
LastBootUpTime -------------- 9/29/2020 8:12:08 AM
如果我們檢查上述輸出的資料型別,由於輸出格式的原因,它應該是DateTime。
(Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime.Gettype()
輸出
IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True DateTime System.ValueType
我們現在需要以天-小時-分鐘的格式顯示系統的執行時間。因此,我們將比較當前日期/時間與啟動日期/時間之間的差異。
$bootuptime = (Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime $CurrentDate = Get-Date $uptime = $CurrentDate - $bootuptime $uptime
輸出
Days : 6 Hours : 0 Minutes : 17 Seconds : 38 Milliseconds : 301 Ticks : 5194583016830 TotalDays : 6.01224886207176 TotalHours : 144.293972689722 TotalMinutes : 8657.63836138333 TotalSeconds : 519458.301683 TotalMilliseconds : 519458301.683
從輸出中,我們可以看出伺服器已經運行了6天17分鐘。我們也可以將輸出寫成如下所示。
Write-Output "Server Uptime --> Days: $($uptime.days), Hours: $($uptime.Hours), Minutes:$($uptime.Minutes)"
輸出
Server Uptime --> Days: 6, Hours: 0, Minutes:17
要在遠端計算機上檢查執行時間,請在命令中使用-ComputerName引數。例如,
$servers = "Test1-Win2k12","Test1-Win2k16","ADDC"
$currentdate = Get-Date
foreach($server in $servers){
$Bootuptime = (Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName $server).LastBootUpTime
$uptime = $currentdate - $Bootuptime
Write-Output "$server Uptime : $($uptime.Days) Days, $($uptime.Hours) Hours, $($uptime.Minutes) Minutes"
}輸出
Test1-Win2k12 Uptime : 5 Days, 22 Hours, 50 Minutes Test1-Win2k16 Uptime : 5 Days, 23 Hours, 12 Minutes ADDC Uptime : 6 Days, 2 Hours, 9 Minutes
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP