gpt4 book ai didi

asp.net - ServiceController.start() 和 ServiceController.stop() 抛出异常?

转载 作者:行者123 更新时间:2023-12-02 18:57:39 27 4
gpt4 key购买 nike

下面的代码抛出异常。我不明白我在代码中犯了什么错误。有人可以帮我弄清楚吗?我认为这是一些担保权问题。如果是这样,我如何向任何用户或应用程序授予以编程方式访问此 Windows 服务的安全权限?

Dim sc As New ServiceController        
sc.ServiceName = "DataLoad"
If sc.Status = ServiceControllerStatus.Stopped Then
sc.Start()
Else
sc.Stop()
End If

异常:

System.InvalidOperationException: Cannot open DataLoad service on computer '.'. --->
System.ComponentModel.Win32Exception: Access is denied --- End of inner exception stack trace --- at
System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess) at
System.ServiceProcess.ServiceController.Start(String[] args) at
System.ServiceProcess.ServiceController.Start() at
WEBSITE.DataLoad.Submit1_ServerClick(Object sender, EventArgs e) in C:\Inetpub\wwwroot\WEBSITE\a\DataLoad.aspx.vb:line 46

谢谢!

最佳答案

您可以使用 subinacl 工具来实现

SUBINACL /SERVICE \\MachineName\ServiceName /GRANT=[DomainName\]UserName[=Access] 

具体针对您的情况:

subinacl /service DataLoad /GRANT=YOURDOMAIN\[User in appdomain for WEBSITE]=TO

其中 TO 表示
T : 启动服务
O:停止服务

[访问]的所有选项是:

F:完全控制
R:通用读取
W : 通用写入
X:通用执行
L : 读取控制
Q : 查询服务配置
S : 查询服务状态
E:枚举依赖服务
C:服务变更配置
T : 启动服务
O : 停止服务
P : 暂停/继续服务
I : 询问服务
U:服务用户定义的控制命令

参见Method 3 in this kb article

关于asp.net - ServiceController.start() 和 ServiceController.stop() 抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5084493/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com