获取上次重启时间戳的脚本(2008r2)

获取上次重启时间戳的脚本(2008r2)

我有一个集成广告的计算机列表,我需要一个包含这些计算机上次重启时间的列表。我找到了一些命令,Get-WmiObject -ClassName win32_operatingsystem -ComputerName xxx | select csname, lastbootuptime但这不是我需要的。我需要一个脚本,因为有很多计算机。

我没有使用过 PowerShell,希望有人能给我提供一些建议。

PS C:\Users\XxX> Get-wmiobject win32_operatingsystem -ComputerName LC006909 | select csname, @{label='LastRestart';expression={$_.ConverToDateTime($_.LastBootUpTime)}}

csname                                                      LastRestart
------                                                      -----------
LC006909

我得到这个输出...LastRestart 下为空。

答案1

Nixphoe 的答案肯定是正确的,但我想补充一下如何获取多台计算机的上次启动时间(如果需要,输出也可以重定向到文件):

获取多台机器的上次启动时间

$compname = Get-Content -Path C:\computers.txt
foreach ($comp in $compname) {
    Get-WmiObject win32_operatingsystem -ComputerName $comp| select CSName, @{LABEL='LastBootUpTime';EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}}

}

C:\computers.txt - 在此处连续输入计算机主机名

答案2

对我来说,systeminfo 真的很慢。如果你有 powershell 3,你应该可以使用类似

Get-CimInstance -ComputerName $yourcomputerObj -ClassName win32_operatingsystem | select csname, lastbootuptime

或者

Get-WmiObject win32_operatingsystem -ComputerName $yourcomputerObj | select csname, @{LABEL='LastBootUpTime';EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}}

关联

答案3

获取上次启动时间的方法有很多种:

systeminfo | find /i "Boot Time"

例如,可以达到目的(以人类可读的格式)。请注意这里的不同语言,例如在德国,您必须 grep 查找“Systemstartzeit”。

您还可以尝试(与语言无关)wmi:

wmic os get lastBootUpTime

它将以反向格式提供启动时间(例如 20150915100340.494919+120)

答案4

我总是用

systeminfo | find "Time"

输出

System Boot Time: 16/09/2015, 08:41:28 Time Zone: (UTC) Dublin, Edinburgh, Lisbon, London

相关内容