CCNA Публикувано 6 Април 2016 Доклад Share Публикувано 6 Април 2016 (Редактирано) Здравейте колеги админи! Бих желал да знам има ли начин за отчитане на ъптайм на месечна база (1-31) на Уиндоуски сървър (без значение 2008/2012). Нямам нужда от автоматизирано решение,ръчно търсене в логовете също ме устройва. Реално искам да знам за целия месец колко време е бил ъп определен сървър,който се рестартира няколко пъти. Command Prompt/Shell командите ги знам и не ми вършат работа,тъй като показват времето след последния старт. П.С. Вариант за инсталиране на допълнителен агент не ми е опция, SCCM също. В момента има качен софтуер на който аз не вярвам (искам да проверявам ръчно) Редактирано 6 Април 2016 от CCNA Адрес на коментара Сподели в други сайтове More sharing options...
SunShine Публикувано 6 Април 2016 Доклад Share Публикувано 6 Април 2016 https://support.microsoft.com/en-us/kb/555737 Sent from my thl_5000 using Tapatalk Адрес на коментара Сподели в други сайтове More sharing options...
dimithur Публикувано 7 Април 2016 Доклад Share Публикувано 7 Април 2016 Това ще му покаже единствено, кога за последно се е рестартирал. Криейтваш си къстъм вю на логовете , което да ти отчита ивент ид 6005 за един месец назад примерно, би трябвало да свърши работа . Адрес на коментара Сподели в други сайтове More sharing options...
SunShine Публикувано 7 Април 2016 Доклад Share Публикувано 7 Април 2016 (Редактирано) Хуре прочете ли линка или само отгоре отгоре? Опшън две е uptime.exe Цитат Summary A new tool, Uptime.exe, is available for displaying system availability. Uptime.exe can be used to display the current uptime of the local or remote system. Optionally, it can also scan the Event log for key system events such as system restart or computers that are not responding (hanging). Where possible, it also calculates system availability. It is primarily intended for Windows NT Server 4.0 Service Pack 4 or later, though it operates in limited fashion on earlier versions. Редактирано 7 Април 2016 от SunShine Адрес на коментара Сподели в други сайтове More sharing options...
CCNA Публикувано 7 Април 2016 Автор Доклад Share Публикувано 7 Април 2016 22 hours ago, CCNA said: Нямам нужда от автоматизирано решение,ръчно търсене в логовете също ме устройва. П.С. Вариант за инсталиране на допълнителен агент не ми е опция, SCCM също. В момента има качен софтуер на който аз не вярвам (искам да проверявам ръчно) Тук е ключът от палатката. Благодаря на отзовалите се, друг ако има какво да сподели от своята практика/познания нека го направи. Става дума за 3000 сървъра, на всичките има качени агенти. 10-15-20 сървъра не ми пречи да проверя локално през логовете. Адрес на коментара Сподели в други сайтове More sharing options...
dimithur Публикувано 8 Април 2016 Доклад Share Публикувано 8 Април 2016 (Редактирано) #--------------------------------------------------------------- # CalculateSystemUpTimeFromEventLog.ps1 # ed wilson, msft, 9/6/2008 # # Creates a system.TimeSpan object to subtract date values # Uses a .NET Framework class, system.collections.sortedlist to sort the events from eventlog. # #--------------------------------------------------------------- #Requires -version 2.0 Param($NumberOfDays = 30, [switch]$debug) if($debug) { $DebugPreference = " continue" } [timespan]$uptime = New-TimeSpan -start 0 -end 0 $currentTime = get-Date $startUpID = 6005 $shutDownID = 6006 $minutesInPeriod = (24*60)*$NumberOfDays $startingDate = (Get-Date -Hour 00 -Minute 00 -Second 00).adddays(-$numberOfDays) Write-debug "'$uptime $uptime" ; start-sleep -s 1 write-debug "'$currentTime $currentTime" ; start-sleep -s 1 write-debug "'$startingDate $startingDate" ; start-sleep -s 1 $events = Get-EventLog -LogName system | Where-Object { $_.eventID -eq $startUpID -OR $_.eventID -eq $shutDownID ` -and $_.TimeGenerated -ge $startingDate } write-debug "'$events $($events)" ; start-sleep -s 1 $sortedList = New-object system.collections.sortedlist ForEach($event in $events) { $sortedList.Add( $event.timeGenerated, $event.eventID ) } #end foreach event $uptime = $currentTime - $sortedList.keys[$($sortedList.Keys.Count-1)] Write-Debug "Current uptime $uptime" For($item = $sortedList.Count-2 ; $item -ge 0 ; $item -- ) { Write-Debug "$item `t `t $($sortedList.GetByIndex($item)) `t ` $($sortedList.Keys[$item])" if($sortedList.GetByIndex($item) -eq $startUpID) { $uptime += ($sortedList.Keys[$item+1] - $sortedList.Keys[$item]) Write-Debug "adding uptime. `t uptime is now: $uptime" } #end if } #end for item "Total up time on $env:computername since $startingDate is " + "{0:n2}" -f ` $uptime.TotalMinutes + " minutes." $UpTimeMinutes = $Uptime.TotalMinutes $percentDownTime = "{0:n2}" -f (100 - ($UpTimeMinutes/$minutesInPeriod)*100) $percentUpTime = 100 - $percentDowntime "$percentDowntime% downtime and $percentUpTime% uptime." е тоя пауър шел ще ти свръши работа смята в проценти ъп и доун тайм за 1 месец назад Редактирано 8 Април 2016 от Wizi quote -> code Адрес на коментара Сподели в други сайтове More sharing options...
CCNA Публикувано 8 Април 2016 Автор Доклад Share Публикувано 8 Април 2016 Благодарско! Адрес на коментара Сподели в други сайтове More sharing options...
Recommended Posts
Създайте нов акаунт или се впишете, за да коментирате
За да коментирате, трябва да имате регистрация
Създайте акаунт
Присъединете се към нашата общност. Регистрацията става бързо!
Регистрация на нов акаунтВход
Имате акаунт? Впишете се оттук.
Вписване