dimayakovlev.ru


Как узнать аптайм системы в PowerShell

Для того, чтобы узнать аптайм системы нет необходимости прибегать к помощи специальных утилит, потому что это можно сделать прямо из консоли PowerShell.

В конкретном случае под аптаймом (uptime) следует понимать время, прошедшее с момента загрузки операционной системы до текущего момента.

Если вы используете PowerShell версии 6 и старше, для получения аптайма существует специальный командлет Get-Uptime. Командлет возращает объект класса TimeSpan, представляющий временной интервал от загрузки операционной системы до момента вызова командлета.

Get-Uptime

Результат вызова командлета Get-Uptime

При необходимости можно выбрать только часть полей объекта TimeSpan командлетом Select-Object:

Get-Uptime | Select-Object -Property Days, Hours, Minutes, Seconds

Если вы продолжаете использовать PowerShell версий младше 6, то командлет Get-Uptime не доступен. В этом случае получить аптайм системы можно при помощи следующего кода.

(Get-Date) - (Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime

В приведённом коде происходит вычисление отрезка времени между текущим временем и временем последней загрузки операционной системы. Результатом вычисления будет объект типа TimeSpan, что аналогично результату, получаемому при использовании командлета Get-Uptime.

Результат вычисления аптайма в PowerShell