如何通过C#-WSMan将事件发送到Windows事件收集器

如何通过C#-WSMan将事件发送到Windows事件收集器,c#,event-log,C#,Event Log,假设Windows事件收集器是在我的服务器计算机上设置的,我如何使用c#with(或不带)Ws-Management协议(即system32/WSmAuto.dll上的WSMan类)向收集器发送自定义事件 最好不在客户端计算机上设置任何内容。这是用于直接记录。对于远程日志记录,我可以添加机器名作为参数,但这种技术存在安全问题。您回答了自己的问题:添加机器名!安全问题与C代码无关,但必须正确设置访问权限。我不确定,但我认为你不需要管理员权限。如果您无法正确设置安全设置(例如,由于公司策略,或者如果

假设Windows事件收集器是在我的服务器计算机上设置的,我如何使用c#with(或不带)Ws-Management协议(即system32/WSmAuto.dll上的WSMan类)向收集器发送自定义事件


最好不在客户端计算机上设置任何内容。

这是用于直接记录。对于远程日志记录,我可以添加机器名作为参数,但这种技术存在安全问题。您回答了自己的问题:添加机器名!安全问题与C代码无关,但必须正确设置访问权限。我不确定,但我认为你不需要管理员权限。如果您无法正确设置安全设置(例如,由于公司策略,或者如果编译器不是域的一部分),我建议在目标服务器上创建一个小型服务器,该服务器只有一个远程处理接口,可以完全执行上述代码。但安全总是存在的,它应该存在!“Windows事件收集器”在某种程度上是“小型服务器”。我的目标是尽量减少用户实现远程日志记录所需的工作量,如果服务器上没有额外安装,这将是最好的。我脑子里已经有Diagnostics.EventLog了。我试图了解的是关于替代方案的内容,并根据用户的角度,根据安全性、可用性和灵活性对技术进行比较。
        var appLog = new System.Diagnostics.EventLog();
        appLog.Source = "YOUR APPLICATION NAME";
        appLog.WriteEntry("my event text", System.Diagnostics.EventLogEntryType.Information);