首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Powershell导出Windows事件日志

使用Powershell导出Windows事件日志
EN

Stack Overflow用户
提问于 2019-10-18 04:30:52
回答 2查看 794关注 0票数 0

有没有办法导出所有视窗事件日志可能通过事件日志清单与PowerShell或任何其他编码方法?其目标不仅是导出安全、应用程序或系统中的事件日志,而且还导出Microsoft中所有可能的事件日志。必须包含描述、名称和ID?

EN

回答 2

Stack Overflow用户

发布于 2019-10-18 04:42:13

这里有很多你可以做的调整,但这是最基本的要点。"-ListLog *“将为您获取所有日志名称,然后您只需遍历它们。"-ErrorAction SilentlyContinue“是由于日志中没有生成错误的事件。如果您想查看其他错误,可以捕获特定的异常(NoMatchingEventsFound)。

代码语言:javascript
运行
复制
$Logs = Get-Winevent -ListLog *

foreach ($Log in $Logs) {
  Get-WinEvent -LogName $Log.LogName -ErrorAction SilentlyContinue
}
票数 0
EN

Stack Overflow用户

发布于 2019-10-18 06:46:48

如果你想列出所有已注册的消息DLL,你可以这样做:

代码语言:javascript
运行
复制
$lognames = Get-ChildItem HKLM:\SYSTEM\CurrentControlSet\Services\EventLog\ | Select Name
$DLLs = foreach ($logname in $lognames) {
    $providers = gci $logname.Name.Replace('HKEY_LOCAL_MACHINE','HKLM:')
    foreach ($provider in $providers) {
        $item = get-itemproperty  -Path $provider.name.replace('HKEY_LOCAL_MACHINE','HKLM:')
        $item.EventMessageFile
    }
}

之后,您可以逐步执行$DLLs并使用下面的文档引用来提取数据。我还没有看过如何做到这一点,但如果它是.Net,你很可能可以用PowerShell来做到这一点。

https://docs.microsoft.com/en-us/windows/win32/eventlog/message-files

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58440316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档