无法在NetworkService帐户中启动Windows服务

我有一个Windows服务项目实现,我试图安装为网络服务。

process = new ServiceProcessInstaller(); process.Account = ServiceAccount.NetworkService; 

但每当我尝试启动服务时,我得到:

 System error 5 has occurred. Access is denied. 

这是在visual studio命令提示符中运行net start MyService命令之后发生的,该命令提示符正在以管理员身份运行。

有关如何使其工作的任何帮助? 谢谢。

我会检查网络服务帐户是否有权执行。 检查步骤:

  1. 在Windows资源管理器中,转到包含服务二进制文件的文件夹
  2. 右键单击文件夹>属性>安全性选项卡>编辑按钮
  3. 添加>“网络服务”>确定
  4. 给它完全控制(只是测试然后减少权限,直到它工作)

截图

您的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 :)来解析安全描述符定义语言 。

“拒绝访问”消息适用于尝试启动服务的用户,而不适用于运行服务的帐户。

你能从以下地方开始服务吗?

  1. 服务控制面板小程序?
  2. 一个提升的命令提示符,你自己开始(不是从Visual Studio)?