我有一个Windows服务项目实现,我尝试安装为网络服务。
process = new ServiceProcessInstaller();
process.Account = ServiceAccount.NetworkService;
但是每当我尝试启动服务时,我都会得到:
System error 5 has occurred.
Access is denied.
这是在Visual Studio命令提示符中运行net start MyService
命令之后发生的,该命令提示符正在以管理员身份运行。
有关如何使其工作的任何帮助?感谢。
答案 0 :(得分:26)
我会检查网络服务帐户是否有权执行。检查步骤:
答案 1 :(得分:0)
您的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 :)来解析Security Descriptor Definition Language。
答案 2 :(得分:0)
“拒绝访问”消息适用于尝试启动服务的用户,而不适用于运行服务的帐户。
您可以从以下地址开始服务: