gpt4 book ai didi

c#授予Windows用户 "Log On As Service"权限

转载 作者:可可西里 更新时间:2023-11-01 08:25:19 29 4
gpt4 key购买 nike

如何授予用户对服务的 LogOnAsService 权限?

我需要手动执行此操作,在 services.msc 应用程序中,我可以转到该服务,更改密码(设置与之前相同的密码),单击应用,我会收到一条消息:

The account .\postgres has been granted the Log On As Service right.

我如何从代码中执行此操作,否则我每次运行应用程序时都必须手动授予此权限,这是不可能的

@史蒂夫

    static void Main()
{
// irrelevant stuff

GrantLogonAsServiceRight("postgres");

// irrelevant stuff
}

private static void GrantLogonAsServiceRight(string username)
{
using (LsaWrapper lsa = new LsaWrapper())
{
lsa.AddPrivileges(username, "SeServiceLogonRight");
}
}

还有这个家伙 Willy 的 LSA 库。

最佳答案

参见 Granting User Rights in C# .

您必须通过 P/Invoke 调用 LSA API,并且该 URL 具有对 wrapper class 的引用那就是为你做的。所以你最终得到的代码很简单:

private static void GrantLogonAsServiceRight(string username)
{
using (LsaWrapper lsa = new LsaWrapper())
{
lsa.AddPrivileges(username, "SeServiceLogonRight");
}
}

关于c#授予Windows用户 "Log On As Service"权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3891623/

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