Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法在NetworkService帐户中启动Windows服务_C#_.net_Windows Services_Network Service - Fatal编程技术网

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

C# 无法在NetworkService帐户中启动Windows服务,c#,.net,windows-services,network-service,C#,.net,Windows Services,Network Service,我有一个windows服务项目实现,我正在尝试将其作为网络服务安装 process = new ServiceProcessInstaller(); process.Account = ServiceAccount.NetworkService; 但是,每当我尝试启动服务时,我会得到: System error 5 has occurred. Access is denied. 这是在visual studio命令提示符中运行net start MyService命令之后出现的,顺便说一下

我有一个windows服务项目实现,我正在尝试将其作为网络服务安装

process = new ServiceProcessInstaller();
process.Account = ServiceAccount.NetworkService;
但是,每当我尝试启动服务时,我会得到:

System error 5 has occurred.

Access is denied.
这是在visual studio命令提示符中运行
net start MyService
命令之后出现的,顺便说一下,该命令以管理员身份运行


关于如何让它工作有什么帮助吗?谢谢。

您的
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启动的)

  • 我将检查网络服务帐户是否具有执行权限。检查步骤:

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


  • 但是我提到visual studio cmd正在管理模式下运行您已将快捷方式更改为
    以管理员身份运行
    ?同样,在VS命令提示符中键入
    sc sdshow MyService
    ,并用它的响应更新您的问题。运行此sc命令时,我得到以下信息:
    D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;ccdclcswrpdtlocrsdrcwdwo;;;BA)(A;;CCLCSWLOCR RC;;;IU)(A;;CCLCSWLOCRRC;;;SU)s:(AU;cwd;ccdclcswwrpwpdtwdrocdrdwo;;;cwd)
    我从管理模式下运行的常规cmd提示符中获得此信息:
    D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCR RC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)
    检查安装路径,确保具有服务所需的所有权限,并且文件夹具有NS用户执行的权限。尝试在Windows服务
    OnStart
    方法的第一行上放置一个
    Debug.Break
    。它被点击了吗?不,主方法甚至没有被点击。您是否为该文件夹中的NS用户添加了权限?它有允许执行的“滴答声”吗?@oleksii:我刚刚接触这个windows服务的东西,所以我不确定我是否理解你在说什么about@oleksii:是否要添加答案?那么如何在LocalSystem模式下正常运行服务?我还从由Me启动的cmd提示符中获得拒绝访问权限如何从服务小程序中获得?不确定“LocalSystem模式”是什么意思。您可以通过选择顶部单选按钮:谢谢,在LocalSystem帐户中运行该服务。这就是我一直在寻找的。在我的情况下,上述步骤不起作用。我已授予网络服务帐户的全部权限,启动服务时收到错误消息“如果其他服务或程序未使用某些服务,它们将自动停止。”@user2323308这是您的内部异常。不是没有网络服务的权利。有没有办法从CLI做到这一点?@kkirsche我相信有办法。请参阅本文:。如果你明白了,你能用命令和参数的细节更新我的答案吗?谢谢