首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >EventLog写入权限

EventLog写入权限
EN

Stack Overflow用户
提问于 2013-01-10 03:54:47
回答 2查看 52.3K关注 0票数 31

我的问题与Windows事件日志的写入权限有关。我已经看了几篇与此相关的帖子,并找到了一些方法来解决我的问题,但这些方法都不适合我目前的情况。

我在.NET 4.0中使用C#。我使用EventLog类:EventLog class

简而言之,我需要查看是否有一种方法来模拟或使用经过身份验证的用户和密码进行身份验证,以达到我需要写入事件日志的权限。服务器将始终属于Windows server系列,但版本可能会有所不同。

我的应用程序是使用以下帐户之一运行的Windows服务:

  • 网络服务
  • 本地服务
  • 本地系统
  • 具有受限权限(用户或域用户组)的用户

以下是我掌握的其他一些标准:

registry

  • I

  • I无法将服务用户设置为管理员,即使是server

  • I上的本地管理员也无法编辑或更改registry

  • I无法更改服务器上的UAC或任何组策略

  • 我有一个具有管理员权限的用户,但它不能用于运行service

  • The事件日志将始终是本地事件日志,而不是远程计算机上的日志

  • 该日志可能始终是“应用程序”应用程序源可能会因而异,这似乎是问题的核心

<

  • >F232>

我的问题是:这可能吗?

我可以在我的代码中模拟一个用户来实现我需要的功能吗?当我连接到web服务、登录到smtp服务器和课程登录到数据库等时,我都会这样做。

我偶然发现了这样一个类:EventLogPermission Class

但是关于如何使用这个类,我似乎没有一个好的概念。

我希望我已经很好地表达了我的问题。由于我的标准,我不认为这是另一篇文章的副本。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-14 04:27:05

答案是“不”。

我意识到没有好的方法来解决我所要求的问题。一定是手工作业完成了。

因此,我为这种情况选择的解决方案是,无法以管理员身份运行服务或手动编辑注册表的客户无法使用记录到事件日志的功能。我将从配置中启用和禁用日志记录。

管理用户和注册表编辑对我来说是已知的方式,但如上所述,我试图避免。但是,根据我的标准,这似乎是不可能的。

票数 2
EN

Stack Overflow用户

发布于 2013-01-10 14:26:31

默认情况下,任何经过身份验证的用户都可以写入应用程序事件日志。但是,只有管理员才能创建新的事件源。如果所有的事件源在服务安装时都是已知的,我建议您提前注册这些源,然后就可以全部设置好了。注册是对EventLog.CreateEventSource的简单调用。

如果需要更灵活地处理事件源,可以自定义权限。可以通过调整注册表项来自定义这些默认值:

代码语言:javascript
运行
复制
  HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Eventlog\Application\CustomSD

KB Article中描述的过程。wevtutil工具是操作系统的一部分,可在Server2008及更高版本上使用,它比使用regedit更容易一些。

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

https://stackoverflow.com/questions/14245345

复制
相关文章

相似问题

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