PowerShell: Get Uptime And LastBootTime

Получаем время последней загрузки и время аптайма сервера на текущий момент и выводим это в *.CSV.

(Get-ADComputer -Filter {operatingsystem -like "*server*" -and enabled -eq $true}).Name | 

ForEach{
Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName $PSItem |
Select-Object -Property CSName, LastBootUpTime,
@{
Name = 'TimeSpanSinceLastRestart'
Expression = {New-TimeSpan -Start $(Get-Date) -End $PSItem.LastBootUpTime }
} |
Export-Csv "C:\temp\gpo\LastBootTime_All_Servers.csv" -NoClobber -NoTypeInformation -Encoding UTF8 -Delimiter ";" -Append
}

Дополнительный вариант:

foreach ($computer in (Get-ADComputer -Filter {name -like "*server*"})) {
Get-WmiObject Win32_OperatingSystem -ComputerName $computer.Name | select csname, @{LABEL='LastBootUpTime';EXPRESSION={$_.ConverttoDateTime($_.lastbootuptime)}}
}

Leave a comment