【问题标题】:Filter IDs of the last "boot event" from Event Log in PowerShell从 PowerShell 中的事件日志中筛选最后一个“启动事件”的 ID
【发布时间】:2011-12-09 00:09:42
【问题描述】:

我需要从事件日志中过滤上一个“启动事件”的 ID

我通过运行 psloglist -accepteula -n 1 -s -o "Microsoft-Windows-Kernel-General" -i 12 -t ; 得到它,我重定向到一个文件并需要过滤只有第一块数字后跟 ;在第二行,如下例所示

系统登录\F​​DU000084151005:
107604;System;Microsoft-Windows-Kernel-General;INFORMATION;FDU000084151005

请你帮我在powershell中写一下好吗?

【问题讨论】:

    标签: powershell event-log boot


    【解决方案1】:

    如何使用Get-WinEvent 获取它的示例:

    get-winevent -FilterHashtable @{ProviderName = "Microsoft-Windows-Kernel-General" ; Id = 12} |
    select -expand RecordId
    

    【讨论】:

    • 谢谢,我只需要过滤最后一个,但结合下面的 Shay Levy 的帮助,我能够得到它,感谢你们两个 :-)
    • get-winevent -FilterHashtable @{ProviderName = "Microsoft-Windows-Kernel-General" ; Id = 12} | select -expand RecordId | select-object -first 1
    【解决方案2】:

    您可能可以使用Get-WinEvent cmdlet 获取值,请查看帮助示例。我的系统上没有那个日志文件,所以我不能给你一个可行的例子。

    这是一种使用匹配运算符和 $matches 集合从导出文件中提取值的方法:

    Get-Content log.txt | Where-Object {$_ -match '^(\d+);'} | Foreach-Object { $matches[1] }
    

    【讨论】:

    • 谢谢你,这正是我所需要的 :-)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多