Как получить время загрузки от Diagnostics-Performance - PullRequest
1 голос
/ 12 июня 2019

Я пытаюсь прочитать продолжительность загрузки с event viewer через powershell.Это команда, которую я использую:

Get-WinEvent -FilterHashtable @{logname="Microsoft-Windows-Diagnostics-Performance/Operational"; id=100}

Но я получаю это сообщение об ошибке:

Get-WinEvent : No events were found that match the specified selection criteria.
At line:1 char:15
+ ... ootevents = Get-WinEvent -FilterHashtable @{logname="Microsoft-Window ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : ObjectNotFound: (:) [Get-WinEvent], Exception
+ FullyQualifiedErrorId : NoMatchingEventsFound,Microsoft.PowerShell.Commands.GetWinEventCommand

1 Ответ

0 голосов
/ 12 июня 2019

Чтобы получить эту информацию, вы должны запустить PowerShell от имени администратора.

Тогда ниже, вероятно, будет делать то, что вы хотите:

Get-WinEvent -FilterHashtable @{LogName="Microsoft-Windows-Diagnostics-Performance/Operational"; Id=100} -MaxEvents 10 | ForEach-Object {
    # convert the event to XML and grab the Event node
    $eventXml = ([xml]$_.ToXml()).Event
    # output 
    [PSCustomObject]@{
        'Computer' = $eventXml.System.Computer
        'BootTime' = [int64]($eventXml.EventData.Data | Where-Object {$_.Name -eq 'BootTime'}).InnerXml
        'BootFinished' = [datetime]($eventXml.EventData.Data | Where-Object {$_.Name -eq 'BootEndTime'}).InnerXml
    }
}

Вывод будет примерно таким:

Computer BootTime BootFinished      
-------- -------- ------------      
YourPC   118733   12-6-2019 15:17:42
YourPC    40259   12-6-2019 11:40:11
YourPC    43884   12-6-2019 6:00:27 
YourPC    46158   11-6-2019 12:26:17
YourPC    37759   11-6-2019 10:00:30
YourPC    53178   11-6-2019 6:49:03 
YourPC    49745   10-6-2019 16:25:59
YourPC    39130   10-6-2019 11:14:59
YourPC    57165   10-6-2019 6:57:30 
YourPC    48230   9-6-2019 11:03:02

P.S. 'BootTime' - количество миллисекунд. Формат даты d-MM-yyyy HH:mm:ss по умолчанию на моем голландском компьютере

...