Windows uptime – Powershell

W tym wpisie pokażę funkcje, która wyświetli czas ostatniego bootowania systemu oraz jego uptime. Znów posłużymy się WMI, tym razem użyjemy klasy win32_operatingsystem.

Z tej klasy pobierzemy dwie wartości: czas bootowania oraz czas lokalny systemu – na tej podstawie potem obliczymy uptime.

Tak wygląda pobranie wartości z klasy WMI:

$OS = gwmi win32_operatingsystem -ComputerName $comp

Powyżej pobieramy wszystkie wartości w tej klasie WMI, a poniżej operujemy już na wartościach, których potrzebujemy:

$bootTime = $OS.ConvertToDateTime($OS.LastBootUpTime)
$localTime = $OS.ConvertToDateTime($OS.LocalDateTime)

Obliczamy uptime:

$up = $localTime – $bootTime
$upTime = „$($up.Days) days $($up.Hours) hours $($up.Minutes) mins”

Teraz pokażę jak użyć samej funkcji Get-Uptime.

Get-Uptime HostName

pokaże nam wynik dla komputera HostName

Get-Uptime name1, name2, name3

tutaj dla kilku komputerów Jeśli mamy większą ilość komputerów, możemy pobrać listę z pliku:

Get-Uptime -file hosts.txt

Get-Uptime.ps1 (zipped)

Zapraszam do testowania I komentowania 🙂

 

Przeczytaj także...

1 Response

  1. Michał Uchnast napisał(a):

    Dziękuję, bardzo przejrzysta i przydatna funkcja.

Dodaj komentarz