Public/Get-SystemUptime.ps1
function Get-SystemUptime { <# .SYNOPSIS Возвращает время работы ОС. .DESCRIPTION Возвращает время работы ОС с последней перезагрузки или дату загрузки. .EXAMPLE PS C:\> Get-SystemUptime -Since 4 июня 2021 г. 17:37:15 Возвращает дату и время, когда была загружена ОС. .EXAMPLE PS C:\> Get-SystemUptime Ticks : 14003470000000 Days : 16 Hours : 4 Milliseconds : 0 Minutes : 59 Seconds : 7 TotalDays : 16,2077199074074 TotalHours : 388,985277777778 TotalMilliseconds : 1400347000 TotalMinutes : 23339,1166666667 TotalSeconds : 1400347 Возвращает Timestamp? показывающий время работы ОС. .OUTPUTS Время работы ОС с момента загрузки. .NOTES Функция повторяет функционал командлета Get-Uptime, доступного в PowerShell 7. #> [CmdletBinding()] [OutputType([System.DateTime])] [OutputType([System.TimeSpan])] param ( [Parameter(Mandatory = $false, ValueFromPipeline = $false, Position = 0)] [switch] $Since ) begin { } process { if ($PSVersionTable.PSEdition -eq 'Desktop') { if ($Since) { $Result = (Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime } else { $Result = (Get-Date) - (Get-CimInstance -ClassName Win32_OperatingSystem).LastBootUpTime } } else { if ($Since) { $Result = Get-Uptime -Since } else { $Result = Get-Uptime } } } end { return $Result } } |