Functions/Get-UpTime.ps1
|
function Get-UpTime { <# .NOTES Author: Skyler Hart Created: 2017-08-18 20:42:41 Last Edit: 2020-07-07 15:29:12 Keywords: .LINK https://wanderingstag.github.io #> [CmdletBinding()] Param ( [Parameter( Mandatory=$false, Position=0 )] [Alias('Host','Name','Computer','CN')] [string[]]$ComputerName = "$env:COMPUTERNAME" ) foreach ($Comp in $ComputerName) { try { $wmiq = Get-WmiObject Win32_OperatingSystem -ComputerName $Comp -erroraction stop $bootup = [Management.ManagementDateTimeConverter]::ToDateTime($wmiq.LastBootUpTime) $ts = New-TimeSpan $bootup $tot = [string]([math]::Round($ts.totalhours,2)) + " h" [PSCustomObject]@{ ComputerName = $Comp LastBoot = $bootup Total = $tot Days = ($ts.Days) Hours = ($ts.Hours) Minutes = ($ts.Minutes) Seconds = ($ts.Seconds) }#newobject }#try catch { $bootup = "Failed: Could not connect to computer" [PSCustomObject]@{ ComputerName = $Comp LastBoot = $bootup Total = "" Days = "" Hours = "" Minutes = "" Seconds = "" }#newobject }#catch }#foreach comp } |