forked from ztrhgf/useful_powershell_functions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGet-Uptime.ps1
40 lines (32 loc) · 1.19 KB
/
Get-Uptime.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Function Get-Uptime {
<#
.SYNOPSIS
Vypise uptime zadaneho stroje.
.DESCRIPTION
Vypise uptime zadaneho stroje. Podle posledniho casu bootu OS.
.PARAMETER computerName
Jmeno stroje
.EXAMPLE
Get-Uptime
vypise, jak dlouho je lokalni stroj online
.EXAMPLE
Get-Uptime -ComputerName $hala
vypise, jak dlouho jsou jednotlive stroje v hale online
#>
param (
[Parameter(Position = 0, ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)]
[alias("cn")]
[string[]]$computerName = $env:COMPUTERNAME
)
PROCESS {
Invoke-Command2 -computerName $computerName {
$Uptime = Get-WmiObject -Class Win32_OperatingSystem -Property LastBootUpTime
$LastBootUpTime = $Uptime.ConvertToDateTime($Uptime.LastBootUpTime)
$Time = (Get-Date) - $LastBootUpTime
New-Object PSObject -Property @{
ComputerName = $env:COMPUTERNAME.ToUpper()
Uptime = '{0:00}:{1:00}:{2:00}:{3:00}' -f $Time.Days, $Time.Hours, $Time.Minutes, $Time.Seconds
}
} | Select-Object -property * -excludeProperty PSComputerName, RunspaceId
}
}