Назад | Перейти на главную страницу

Скрипт для получения отметки времени последней перезагрузки (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.

Для меня 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)}}

Ссылка на сайт

Никсфо ответ определенно правильный, но я хочу добавить, как получить время последней загрузки для нескольких компьютеров (при необходимости вывод также может быть перенаправлен в файл):

Получите время последней загрузки для нескольких машин

$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 - введите сюда имена хостов компьютеров по очереди

Я всегда использую

systeminfo | find "Time"

который выводит

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

Есть много способов узнать время последней загрузки:

systeminfo | find /i "Boot Time"

подойдет, например, (в удобочитаемом формате). Имейте в виду, что здесь есть разные языки, например, в Германии вам нужно будет ввести "Systemstartzeit" с помощью grep.

Вы также можете попробовать (не зависящий от языка) wmi:

wmic os get lastBootUpTime

который даст вам время загрузки в обратном формате (например, 20150915100340.494919 + 120)