Powershell aracılığıyla bilgisayarın son önyükleme (boot) ve çalışma (uptime) süresini tespit etme

Merhaba,

ilk adımımız;  Boot süresini tespit etmek için ilgili WMI nesnesi ile en son gerçekleşen önyükleme zamanını çağırıyoruz.

Get-WmiObject -Class win32_operatingsystem -Property LastBootUpTime

İkinci adımımız; nesneye bir değişken atayarak bu değişkene LastBootUpTime özelliğini tarih, saat nesnesine dönüştürmek.

$os = Get-WmiObject -Class win32_operatingsystem
$os.ConvertToDateTime($os.LastBootUpTime)

Üçüncü adımımız; bilgisayarımızın çalışma süresini belirlemek olacak.

$os = Get-WmiObject -Class win32_operatingsystem
$os.ConvertToDateTime($os.LastBootUpTime)
(get-date) $os.ConvertToDateTime($os.LastBootUpTime)
Dördüncü adımımızda; son önyükleme süresini powershell üzerinden anlamlı şekilde görüntülenmesi için toplam çalışma süresini birleştireceğiz.
$os = Get-WmiObject win32_operatingsystem
$uptime = (Get-Date) $os.ConvertToDateTime($os.LastBootUpTime)
Write-Output (“Last boot: “ + $os.ConvertToDateTime($os.LastBootUpTime))
Write-Output (“Uptime: “ + $uptime.Days + ” Days “ + $uptime.Hours + ” Hours “ + $uptime.Minutes + ” Minutes”)
Aşağıda oluşturulmuş olan işlev, komutu üzerinde çalıştırdığımız bilgisayarın önyükleme sürelerini göstermek için gerekli olan işlev tanımımızdır. Get-Uptime komutuna ilgili komut tanımlanmıştır.
Function Get-Uptime {
$os = Get-WmiObject win32_operatingsystem -ErrorAction SilentlyContinue
$uptime = (Get-Date) $os.ConvertToDateTime($os.LastBootUpTime)
Write-Output (“Last boot: “ + $os.ConvertToDateTime($os.LastBootUpTime) )
Write-Output (“Uptime   : “ + $uptime.Days + ” Days “ + $uptime.Hours + ” Hours “ + $uptime.Minutes + ” Minutes” )
}
Get-Uptime
Altıncı adımımızda aşağıda tanımlanmış işlev, bilgisayarın adını belirterek geçerli bilgisayarın önyükleme süresini veya farklı bir bilgisayarın önyükleme süresini almak üzere çalıştırılabilecek olan ComputerName parametresini kabul edecek şekilde biraz değiştirilmiş bir işlevdir.
Function Get-Uptime {
Param ( [string] $ComputerName = $env:COMPUTERNAME )
$os = Get-WmiObject win32_operatingsystem -ComputerName $ComputerName -ErrorAction SilentlyContinue
if ($os.LastBootUpTime) {
   $uptime = (Get-Date) $os.ConvertToDateTime($os.LastBootUpTime)
   Write-Output (“Last boot: “ + $os.ConvertToDateTime($os.LastBootUpTime) )
   Write-Output (“Uptime   : “ + $uptime.Days + ” Days “ + $uptime.Hours + ” Hours “ + $uptime.Minutes + ” Minutes” )
  }
  else {
    Write-Warning “Unable to connect to $computername”
  }
}
Get-Uptime -ComputerName RemoteComputerHostName
Başka bir makalemizde görüşmek üzere,

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir