.SYNOPSIS Run-Time.ps1 - 系统运行时长.
.NOTES Written By: Sam Lu .
.Change Log V1.0, 25/07/2013 - 测试版
$start = (Get-Process wininit).StartTime
$end = Get-Date
$runtime = New-TimeSpan -Start $start -End $end
$rundays = $runtime.Days
$runhours = $runtime.Hours
$runmin = $runtime.Minutes
Write-Host “开机时间为: $start ”
Write-Host "您的系统已经运行了 $rundays 天 $runhours 小时 $runmin 分钟"
在各位指引下改进下次程序
$RunTime = (Get-WmiObject -Class Win32_OperatingSystem -Namespace root\CIMV2).lastbootuptime
$Year = $RunTime.Substring(0,4)
$Month = $Runtime.Substring(4,2)
$Day = $Runtime.Substring(6,2)
$Hour = $Runtime.Substring(8,2)
$Min = $Runtime.Substring(10,2)
$Sec = $Runtime.Substring(12,2)
$RunTimeS = $Year + "-" + $Month + "-" + $Day + " " + $Hour + ":" + $Min + ":" + $Sec
$StartTime = [system.Convert]::ToDateTime($RunTimeS)
Write-Host "系统开机时间为:"$StartTime
本文链接: https://www.pstips.net/system-running-time.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
WMI里面不是有启动信息吗,想要什么都行啊,进程时间并不靠谱的:
$computer = “LocalHost”
$namespace = “root\CIMV2”
$a = Get-WmiObject -class Win32_OperatingSystem -computername $computer -namespace $namespace
$a | gm
$a.lastbootuptime
感谢,没想到这种办法。弄了个偏方!
感谢motools 的分享:
推荐使用一楼朋友的方法。
经测试,(Get-Process wininit).StartTime 必须在管理员权限下运行,才会有返回值。
多谢!
$os = Get-WmiObject -Class Win32_OperatingSystem$bootTime = $os.LastBootUpTime$bootTimeNice = [System.Management.ManagementDateTimeConverter]::ToDateTime($bootTime)PS C:> $bootTimeNice2014年5月25日 1:08:03时间转换.net中有直接的方法