У меня есть ПК на удаленном, соединенном сетью, но она иногда отказывает или перезапущена удаленными пользователями. После перезапуска некоторые сервисы и приложения должны быть в рабочем состоянии. Таким образом, я хотел бы узнать перезагрузку как можно скорее. Я думаю, что PS может быть хорошим выбором с некоторыми сценариями так, чтобы я мог выполнить удаленный вызов для получения последней информации метки времени перезагрузки.
Там какой-либо путь состоит в том, чтобы получить удаленный Windows XP последняя метка времени перезагрузки при помощи PowerShell 2.0 (его функция дистанционной работы)?
Это можно сделать через WMI:
$wmi = Get-WmiObject -Class Win32_OperatingSystem -Computer "RemoteMachine"
$wmi.ConvertToDateTime($wmi.LastBootUpTime)
Для удаленного компьютера:
$wmi = Get-WmiObject -Class Win32_OperatingSystem -Computer RemoteComputerName
$wmi.ConvertToDateTime($wmi.LastBootUpTime)
Время безотказной работы компьютера в секундах доступно в счетчике производительности «Время работы системы». Хотя, наверное, это перебор.
Очевидно, что для служб проще всего просто установить их режим запуска на «Автоматический», но если у вас есть другие вещи, которые нужно запустить, проще всего сделать это через планировщик задач Windows: вы можете настроить расписание, которое запускается при запуске компьютера.
К вашему сведению, если вы используете PowerShell Community Extensions 2.0 Beta , вы можете использовать Get-Uptime, например:
PS> Get-Uptime
Uptime LastBootUpTime
------ --------------
00:44:01.4401754 3/21/2010 12:07:17 AM