gpt4 book ai didi

c# - 如何查看此事件日志是否存在?

转载 作者:行者123 更新时间:2023-11-30 20:39:07 25 4
gpt4 key购买 nike

在我的一个项目中,我需要检查机器上是否存在事件日志“Microsoft-Exchange-ManagedAvailability/Monitoring”(事件源是 ManagedAvailability)。

我用过

EventLog.Exists("Microsoft-Exchange-ManagedAvailability/Monitoring")

EventLog.SourceExists("ManagedAvailability")

两者都返回false,但是事件日志确实存在。它位于“应用程序和服务日志”/Microsoft/下,请参见屏幕截图。

那么,如何查看这个日志是否存在呢?

谢谢

enter image description here

最佳答案

EventLog.Exists() 似乎只支持经典事件日志,不支持 new-since-Vista hyphenated-format-with-slash 格式。 Process Monitor表明它试图打开 HKLM\System\CurrentControlSet\Services\EventLog\Microsoft-Exchange-ManagedAvailability/Monitoring,它不存在 - 它在 HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels\Microsoft-Windows-SENSE/Operational.

所以我猜你要么必须尝试打开并捕获失败异常(丑陋),要么获取所有事件日志的列表并找到你的:

EventLogSession.GlobalSession.GetLogNames().Any(
s => string.Equals(s, "Microsoft-Exchange-ManagedAvailability/Monitoring", StringComparison.OrdinalIgnoreCase))

关于c# - 如何查看此事件日志是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34601030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com