无法在NetworkService帐户中启动Windows服务
我有一个Windows服务项目实现,我试图安装为网络服务。
process = new ServiceProcessInstaller(); process.Account = ServiceAccount.NetworkService;
但每当我尝试启动服务时,我得到:
System error 5 has occurred. Access is denied.
这是在visual studio命令提示符中运行net start MyService
命令之后发生的,该命令提示符正在以管理员身份运行。
有关如何使其工作的任何帮助? 谢谢。
我会检查网络服务帐户是否有权执行。 检查步骤:
- 在Windows资源管理器中,转到包含服务二进制文件的文件夹
- 右键单击文件夹>属性>安全性选项卡>编辑按钮
- 添加>“网络服务”>确定
- 给它完全控制(只是测试然后减少权限,直到它工作)
您的Net Start MyService
可能没有以升级的权限运行。 您的命令需要(我相信)管理权限。
更新
不确定原因,但您对服务的特权很奇怪。 默认情况下,服务的权限应如下所示:
D:(A;CI;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY) ACE Type: ACCESS_ALLOWED_ACE_TYPE Trustee: NT AUTHORITY\SYSTEM AccessMask: ADS_RIGHT_DELETE ADS_RIGHT_READ_CONTROL ADS_RIGHT_WRITE_DAC ADS_RIGHT_WRITE_OWNER ADS_RIGHT_DS_CREATE_CHILD ADS_RIGHT_DS_DELETE_CHILD ADS_RIGHT_ACTRL_DS_LIST ADS_RIGHT_DS_SELF ADS_RIGHT_DS_READ_PROP ADS_RIGHT_DS_WRITE_PROP ADS_RIGHT_DS_DELETE_TREE ADS_RIGHT_DS_LIST_OBJECT ADS_RIGHT_DS_CONTROL_ACCESS
不过你看起来像:
D:(A;;CCLCSWRPWPDTLOCRRC;;;SY) ACE Type: ACCESS_ALLOWED_ACE_TYPE Trustee: NT AUTHORITY\SYSTEM AccessMask: ADS_RIGHT_READ_CONTROL ADS_RIGHT_DS_CREATE_CHILD ADS_RIGHT_ACTRL_DS_LIST ADS_RIGHT_DS_SELF ADS_RIGHT_DS_READ_PROP ADS_RIGHT_DS_WRITE_PROP ADS_RIGHT_DS_DELETE_TREE ADS_RIGHT_DS_LIST_OBJECT ADS_RIGHT_DS_CONTROL_ACCESS
我不确定究竟是怎么回事。 尝试卸载并重新安装?
您可以下载SddlParse(google it :)来解析安全描述符定义语言 。
“拒绝访问”消息适用于尝试启动服务的用户,而不适用于运行服务的帐户。
你能从以下地方开始服务吗?
- 服务控制面板小程序?
- 一个提升的命令提示符,你自己开始(不是从Visual Studio)?