使用 .NET 远程读取事件日志

2023-11-22

我想读取远程计算机上的事件日志以检查测试期间是否有错误。这是一些相关代码:

public bool CheckEventLogs(DateTime start)
{
  EventLog myEventLog = new EventLog("CustomLog", "ServerName");
  bool errorFound = false;
  foreach (EventLogEntry entry in myEventLog.Entries)
  {
    if (entry.EntryType == EventLogEntryType.Error && entry.TimeGenerated >= start)
    {
       Console.WriteLine("Error in Event Log:\n" + entry.Message + "\n");
       errorFound = true;
    }
  }
  return errorFound;
}

目前,此代码抛出异常(尝试执行未经授权的操作)。根据MSDN,我需要 EventLogPermission,但我一直在努力寻找如何使用此权限的任何示例。有人有如何执行此操作的示例吗?

编辑:对评论的回应

感谢大家的评论 - 以下是所需的附加信息:

异常是从foreach陈述。具体来说,当单步执行在when之后的步骤中抛出的代码时in被突出显示。我似乎能够创建事件日志对象,但无法访问事件日志中的条目。

我的帐户无权读取目标系统上的事件日志,但我拥有具有该权限的帐户的凭据。通过事件查看器手动连接时,可以选择以其他用户身份进行连接。手动完成此操作后,我的代码运行没有问题。但是,我不能依赖每次该程序运行时手动执行此操作。我需要的是一种以编程方式作为另一个用户进行连接的方法。我以为EventLogPermission将是做到这一点的方法,但也许还有另一种方法。如果有人知道如何在 C# 中以不同用户身份连接到远程日志,那么这正是我所寻找的。


WMI对此非常有用,像这样的片段

SELECT Logfile,TimeGenerated,Type,SourceName,Message FROM Win32_NTLogEvent

允许您查询日志。这个实用程序来自 MS 的 .NET 允许您探索 WMI,甚至可以构建 .net 代码来调用查询。

这样做的另一个好处是,它将获取所有事件并将它们带到应用程序本地,您可以在闲暇时解析它们。如果在处理时连接断开,则以您现在正在执行的方式迭代事件很容易失败(顺便说一句,这与通常用于数据库访问的方法相同)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 .NET 远程读取事件日志 的相关文章

  • 捕获 foreach 条件中抛出的异常

    我有一个foreach在 foreach 本身的条件下循环期间中断的循环 有没有办法try catch抛出异常然后继续循环的项 这将运行几次 直到异常发生然后结束 try foreach b in bees exception is in
  • Blazor 与 Razor

    随着 Blazor 的发明 我想知道这两种语言之间是否存在显着的效率 无论是在代码创建方面还是在代码的实际编译 执行方面 https github com SteveSanderson Blazor https github com Ste
  • 通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信

    通信对象System ServiceModel Channels ServiceChannel 无法用于通信 因为它处于故障状态 这个错误到底是什么意思 我该如何解决它 您收到此错误是因为您让服务器端发生 NET 异常 并且您没有捕获并处理
  • 使用实体框架从集合中删除项目

    我正在使用DDD 我有一个 Product 类 它是一个聚合根 public class Product IAggregateRoot public virtual ICollection
  • 不显示 WRITE_EXTERNAL_STORAGE 的权限对话框

    I want to download a file using DownloadManager And DownloadManager wants to WRITE EXTERNAL STORAGE permission I have in
  • std::map 和二叉搜索树

    我读过 std map 是使用二叉搜索树数据结构实现的 BST 是一种顺序数据结构 类似于数组中的元素 它将元素存储在 BST 节点中并按其顺序维护元素 例如如果元素小于节点 则将其存储在节点的左侧 如果元素大于节点 则将其存储在节点的右侧
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 为什么 BOOST_FOREACH 不完全等同于手工编码的?

    From 增强文档 http www boost org doc libs 1 48 0 doc html foreach html foreach introduction what is literal boost foreach li
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • 单元测试失败,异常代码为 c0000005

    我正在尝试使用本机单元测试项目在 Visual Studios 2012 中创建单元测试 这是我的测试 TEST METHOD CalculationsRoundTests int result Calculations Round 1 0
  • 范围和临时初始化列表

    我试图将我认为是纯右值的内容传递到范围适配器闭包对象中 除非我将名称绑定到初始值设定项列表并使其成为左值 否则它不会编译 这里发生了什么 include
  • 组合框项目为空但数据源已满

    将列表绑定到组合框后 其 dataSource Count 为 5 但组合框项目计数为 0 怎么会这样 我习惯了 Web 编程 而且这是在 Windows 窗体中进行的 所以不行combo DataBind 方法存在 这里的问题是 我试图以
  • UWP 无法在两个应用程序之间创建本地主机连接

    我正在尝试在两个 UWP 应用程序之间设置 TCP 连接 当服务器和客户端在同一个应用程序中运行时 它可以正常工作 但是 当我将服务器部分移动到一个应用程序并将客户端部分移动到另一个应用程序时 ConnectAsync 会引发异常 服务器未
  • string.Compare 行为

    怎么会这样呢 这是从VS2008中的立即窗口获取的 string Compare 1 string Compare 0 0 1 从言论来看字符串比较 http msdn microsoft com en us library 84787k2
  • 32位PPC rlwinm指令

    我在理解上有点困难rlwinmPPC 汇编指令 旋转左字立即然后与掩码 我正在尝试反转函数的这一部分 rlwinm r3 r3 0 28 28 我已经知道什么了r3 is r3在本例中是一个 4 字节整数 但我不确定这条指令到底是什么rlw
  • 是否有一个 C++ 库可以从 PDF 文件中提取文本,例如 PDFBox for Java? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 去年 我使用 PDFBox 在 Java 中创建了一个应用程序来获取某些 PDF 文件中的原始文本 现在
  • 无法使用 Ninject 将依赖项注入到从 Angular 服务调用的 ASP.NET Web API 控制器中

    我将 Ninject 与 ASP NET MVC 4 一起使用 我正在使用存储库 并希望进行构造函数注入以将存储库传递给其中一个控制器 这是实现 StatTracker 接口的上下文对象 EntityFramework public cla
  • 内核开发和 C++ [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 从我know https stackoverflow com questions 580292 what languages are windo
  • 为什么我使用google'smtp'无法发送电子邮件?

    我有以下程序使用 smtp gmail com 587 发送电子邮件 namespace TestMailServer class Program static void Main string args MailMessage mail
  • 为什么 Ajax.BeginForm 在 Chrome 中不起作用?

    我正在使用 c NET MVC2 并尝试创建一个 ajax 表单来调用删除数据库记录 RemoveRelation 的方法 删除记录的过程正在按预期进行 删除记录后 表单应调用一个 JavaScript 函数 从视觉效果中删除该记录 Rem

随机推荐

  • Django 中的 TDD,如何对我的模型进行单元测试?

    我是 TDD 新手 并尝试在 Django 项目中应用 TDD 实践 基于伦敦学校 TDD 工作流程 我从外到内 视图层 表单层和模型层工作 在表单层 我计划构建一个模型表单 其中包含一些 自定义验证方法 我认为 基于TDD 我只需要测试我
  • 并发修改异常

    我目前正在开发一个多线程应用程序 偶尔会收到并发修改异常 平均大约每小时一次或两次 但以看似随机的间隔发生 有问题的类本质上是映射的包装器 它扩展了LinkedHashMap accessOrder 设置为 true 该类有几个方法 syn
  • 如何在 MPAndroidChart 中添加 x 轴作为日期时间标签?

    我在项目中实现了温度报告折线图 MPAndroidChart 库 在 X 轴上应绘制日期时间 在 Y 轴上应绘制温度 我刚刚在 X 轴标签中添加了日期时间作为字符串 但它已折叠 所以请任何人指导我 使用 MPAndroidChart 3 0
  • Java ConcurrentMarkSweep 垃圾收集器未清除所有垃圾

    简短形式 CMS 垃圾收集器似乎无法收集不断增加的垃圾量 最终 我们的 JVM 被填满 应用程序变得没有响应 通过外部工具 JConsole 或jmap histo live 清理一次 更新 问题似乎与 JConsole 的 JTop 插件
  • 以编程方式将 .reg 文件合并到 win32 注册表中

    以编程方式将 reg 文件合并到注册表中的最佳方法是什么 这是为了单元测试 reg 文件是一个测试工件 将在测试开始和结束时添加然后删除 或者 如果有更好的方法对注册表进行单元测试 可以使用 reg 文件删除注册表项 尽管我不确定它的记录情
  • 对每行的某些列的单元格求和

    我想计算某些列的总和 然后将此求和应用于每一行 不幸的是 我只能迈出第一步 现在我该如何让它发生在每一行 我知道 R 不需要循环 什么是好的方法 我的矩阵 zscore 如下所示 a b c t y 1 3 4 7 7 4 2 4 56 6
  • 从 p:remoteCommand 的 oncomplete 处理程序调用 JavaScript 函数 - 使用一些 JavaScript 代码模拟相同的功能

    注意 虽然这个问题涵盖了很长的文本信息和一堆 Java 代码片段 但它只是针对 JavaScript jQuery 和一些 PrimeFaces 的东西 只是
  • 使用 JDBC 将 Microsoft Access 数据库连接到 Java 并编译

    对于学校数据库项目 我们正在制作一个数据库程序 用户 GUI 和数据库 我使用 Microsoft Access 2010 创建了数据库并填充了一些示例数据 并将其保存为 mdb 格式并将其放置在我的项目文件夹中 当在 Eclipse 中运
  • 使用 JavaScript 解决线性方程和类似的代数问题

    我是 JavaScript 新手 我正在尝试编写一个解决线性方程的简单脚本 到目前为止 我的脚本只能求解正负线性方程 例如 2x 28 18x 36 4x 10 我希望它还能够解决包含乘法和除法的线性方程 代数问题 例如 2x 3x 4 2
  • java.lang.OutOfMemoryError BitmapFactory.nativeDecodeAsset()

    您好 我正在创建一个关于交通标志的应用程序 交通标志采用 png 格式 其中一些我在水平滚动视图中显示 但是当尝试打开活动时 我从 android market 错误报告中收到此错误 这是我的错误报告
  • 如何使用 Javascript 找到虚拟视口/屏幕宽度?

    是否有一致的方法来使用 Javascript 确定移动设备的屏幕和虚拟视口的宽度 我的目标平台是移动 Safari 和 Android 的原生浏览器 但我也在 Android 上使用其他浏览器进行测试 我尝试过screen width wi
  • ASP Net Core:添加与 IdentityUser 的多对多关系

    我需要在asp net core中添加与UserIdentity的多对多关系 即 一个用户可以拥有很多本书 一本书可以有很多用户所有者 我有书本课 public class Book public int Id get set 我扩展了 U
  • collect2:错误:ld 终止于信号 11 [分段错误],核心已转储

    我当时正在使用 GLFW 学习 OpenGL 当时对 makefile 并没有很好的理解 我可以使用 OpenGL 但我决定更多地学习 makefile 经过大量的网站 时间和反复试验后 我想出了这个 EXENAME OpenGL Demo
  • 删除Java中的第一个空格

    如何删除 Java 中的第一个空格 现在我正在使用这个 if str charAt 0 str str replace 只需使用str trim 摆脱所有前导和尾随空格
  • WebClient 使用凭据访问页面

    我正在尝试访问同一域 同一 asp net 应用程序上的网页 该网页受密码保护 触发此调用的网页和正在访问的网页的凭据都是相同的 这是代码 我不知道为什么我总是以登录表单 html 代码结束 using WebClient client n
  • 并行运行指定数量的命令 - 对比 xargs -P、GNU 并行和“moreutils”并行

    我正在尝试在 bash 脚本中在 26 个服务器上运行多个 mongodump 我可以运行 3 个命令 例如 mongodump h staging mongodump h production mongodump h web 同时 当一个
  • Boto connect_xxx方法和连接池

    如果我多次调用 boto connect xxx 其中 xxx 是某个服务 dynamodb s3 等 它是否每次都会创建一个新的连接池 我想做的是这样的 Flask 中的示例 app before request def before r
  • 使用R中的gsub替换数据帧列中的特定值

    我的 data frame 如下 gt df ID Value A 001 DEL 1 7 35 8 1 A 002 INS 4l 5 74 d B 023 0 C 891 2 D 787 8 E 865 DEL 3 65 1s b 我想将
  • JPopupMenu 上的 JComboBox

    我正在尝试使用复合 Swing 组件作为菜单的一部分 除了一个细节之外 一切都运行良好 该组件包含JComboBoxes 每当用户单击其中之一打开其下拉菜单时 下拉菜单将打开 但菜单会消失 是否可以使菜单保持打开状态JComboBox被点击
  • 使用 .NET 远程读取事件日志

    我想读取远程计算机上的事件日志以检查测试期间是否有错误 这是一些相关代码 public bool CheckEventLogs DateTime start EventLog myEventLog new EventLog CustomLo