所以这是代码,它给出了一个表格作为输出。
$bootevents = Get-WinEvent -FilterHashtable @{logname="Microsoft-Windows-Diagnostics-Performance/Operational"; id=100} $bootevent = [xml]$bootevents[0].ToXml() $bootevent.Event.EventData.Data
如果我想从名称这样的一个实体记录(例如 BootTime )进行过滤的并输出,而不是显示整个列表/表,

应该进行哪些更改?

您是否可以建议使用Powershell获得引导时间的任何其他方法?

提前致谢,

最佳答案

要获取启动时间:

$bootevent.Event.EventData.Data | ? name -eq boottime

Name     #text
----     -----
BootTime 30234

顺便说一下,较新的Powershell(6、7)可以过滤命名的eventdata数据字段。并且某些过滤器可以使用通配符。但是,日志名的上限为256个元素。
Get-WinEvent @{logname='*Diagnostics-Performance*'; boottime=30234}


   ProviderName: Microsoft-Windows-Diagnostics-Performance

TimeCreated                     Id LevelDisplayName Message
-----------                     -- ---------------- -------
4/12/2020 1:11:05 PM           100 Warning          Windows has started up: …

10-06 06:23