Windows服务写入日志文件的权限
本文关键字:文件 权限 日志 服务 Windows | 更新日期: 2023-09-27 18:09:31
我用c#创建了一个Windows服务,在C:'ProgramData
中写日志(使用NLog)。
当我调试服务时(在我的Windows 7上)(使用上面写的代码),日志文件被正确创建,日志记录被正确写入。但是,当我在Windows server 2008 (x86)上运行的服务器上安装服务时,没有创建日志文件(我也检查了C:'Windows'System32'
,那里什么都没有)。
我怀疑这是一个授权问题,所以我怎么知道我的服务使用了什么权利?
PS:我已经使用命令行C:'Windows'Microsoft.NET'Framework'v4.0.30319'InstallUtil.exe C:'PathToMyService'MyService.exe
安装了我的服务,并具有管理员权限。
运行services.msc
,找到您的服务右键选择Properties
。检查Log On
选项卡,查看您的服务在哪个帐户下运行。
至于你的问题,默认情况下,我认为大多数服务在Local System Account
下运行,我认为C:'ProgramData
目录具有写入权限。您确定nlog.config
文件与您的服务一起部署了吗?
您应该在windows控制面板fpr services中看到您的服务。在上下文菜单中,您可以看到运行服务的用户。你甚至可以更改在那里运行你的服务的用户。
您必须给该用户在您的日志目录中写入的权限。