gpt4 book ai didi

c# - 在没有权限提升的情况下停止 C# 中的服务

转载 作者:太空宇宙 更新时间:2023-11-03 18:41:56 25 4
gpt4 key购买 nike

我需要能够通过可从第三方软件调用的 exe 关闭服务,所以我想我会使用 C# 快速解决方案。

我正在尝试使用我在网上找到的以下代码来停止服务,但它不会工作,除非我以管理员身份运行 exe(理想情况下我不想这样做,因为我试图将它作为一个光滑的)

public static void StopService(string serviceName, int timeoutMilliseconds)
{
ServiceController service = new ServiceController(serviceName);
service.MachineName = ".";
try
{
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

service.Stop();
service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
}
catch
{
// ...
}
}

有没有办法解决需要提升的问题?

最佳答案

各个服务都有访问控制列表。您可以向特定用户或组授予权限,以便能够关闭/启动特定服务。您可以从 Microsoft 获得一个命令行工具“subinacl”来设置 acl:http://www.microsoft.com/download/en/details.aspx?id=23510请注意,您可以授予关闭服务的权限,而不授予查询服务配置的权限。

关于c# - 在没有权限提升的情况下停止 C# 中的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7889500/

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