我的问题与对 Windows 事件日志的写入权限有关。我查看了有关此问题的几篇文章,并找到了一些解决问题的方法,但是对于我当前的情况,这些方法都不可接受。
我在 .NET 4.0 中使用 C#。我使用 EventLog 类: EventLog 类
简而言之,我需要查看是否有一种方法可以模拟或使用经过身份验证的用户和密码进行身份验证,以达到我需要写入事件日志的权限。该服务器将始终属于 Windows Server 系列,但版本可能会有所不同。
我的应用程序是使用以下帐户之一运行的 Windows 服务:
- 网络服务
- 本地服务
- 本地系统
- 具有受限权限的用户(用户或域用户组)
以下是我的其他一些标准:
- 我不能将服务用户设置为管理员,甚至服务器上的本地管理员也不能
- 我无法编辑或更改注册表
- 我无法更改服务器上的 UAC 或任何组策略
- 我有一个具有管理员权限的用户,但它不能用于运行服务
- 事件日志将始终是本地事件日志,而不是远程计算机上
- 日志可能永远是“应用程序”日志
- 来源可能不同,这似乎是问题的核心
我的问题是:这有可能吗?
我可以在我的代码中模拟用户来实现我需要的吗?我在连接到 Web 服务、登录到 smtp 服务器以及当然会登录到数据库等时这样做。
我偶然发现了这个类: EventLogPermission Class
但我似乎无法对如何使用该类有一个好的概念。
我希望我已经很好地表达了我的问题。由于我的标准,我不认为这是另一个帖子的副本。