C# 远程windows事件日志记录-授权
我试图在我的c#应用程序中实现一个日志接口,该接口将本地或远程将事件记录到“Windows事件日志”。作为系统,本地没有问题。Diagnostics是一个易于使用的名称空间 但是,在远程计算机上执行此操作(登录另一台计算机的Windows日志)会带来身份验证和授权问题,即“访问被拒绝”。这是可以理解的,因为让每个人都添加日志是不合逻辑的 我知道创建一个新的事件文件夹和源只能在本地完成,我已经完成了(让我们称之为“我的应用程序”),我还启动了“远程注册表”服务 为了方便起见,我一直在用“eventcreate”工具测试日志功能,以推断什么是允许的,什么是不允许的 当我添加C# 远程windows事件日志记录-授权,c#,event-log,C#,Event Log,我试图在我的c#应用程序中实现一个日志接口,该接口将本地或远程将事件记录到“Windows事件日志”。作为系统,本地没有问题。Diagnostics是一个易于使用的名称空间 但是,在远程计算机上执行此操作(登录另一台计算机的Windows日志)会带来身份验证和授权问题,即“访问被拒绝”。这是可以理解的,因为让每个人都添加日志是不合逻辑的 我知道创建一个新的事件文件夹和源只能在本地完成,我已经完成了(让我们称之为“我的应用程序”),我还启动了“远程注册表”服务 为了方便起见,我一直在用“event
/u mydomain\myLogServer /p myPassword
,然后就可以了。不过,我当然不想给myLogServer提供管理员凭据。我更喜欢创建一个受限用户,或者更好,通过客户端计算机使用windows身份验证(希望在我不输入任何/u/p时会发生这种情况)
问题:如何设置它,以便只有指定的用户才能将日志写入指定的日志文件夹?
已尝试设置注册表项的权限(HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\services\eventlog..)。
已尝试设置事件日志文件(*.evtx)的权限
子问题:我是否需要在c代码中模拟指定的用户以获得授权,或者是否有方法向EventLog对象添加身份验证详细信息?根据TechNet:
在Windows Server®2003、Windows Vista和Windows Server®2008中,可以自定义计算机上每个事件日志的权限。此功能在以前版本的Windows中不可用。访问控制列表(ACL)以安全描述符定义语言(SDDL)字符串的形式存储在名为“CustomSD”的注册表SZ值中对于注册表中的每个事件日志。根据TechNet:
在Windows Server®2003、Windows Vista和Windows Server®2008中,可以自定义计算机上每个事件日志的权限。此功能在以前版本的Windows中不可用。访问控制列表(ACL)以安全描述符定义语言(SDDL)字符串的形式存储在名为“CustomSD”的注册表SZ值中对于注册表中的每个事件日志。真遗憾,我一直在Windows 7计算机上测试这些日志:)。如果我也能在Windows 7上实现这一点,那就太好了。我很确定这也适用于Windows 7。真遗憾,我一直在Windows 7机器上测试这些:)。如果我也能在Windows7上实现这一点,那就太好了。我很确定这也适用于Windows7。
/u mydomain\myLogServer /p myPassword