bev*_*qua 12 .net c# windows-services
如何为用户授予服务的LogOnAsService权限?
我需要手动执行此操作,在services.msc应用程序中我可以转到服务,更改密码(设置与之前相同),单击"应用"并收到消息:
帐户.\ postgres已被授予登录身份服务权限.
我如何从代码中执行此操作,因为否则每次运行应用程序时我都必须手动授予此权限,这不可能
@Steve
static void Main()
{
// irrelevant stuff
GrantLogonAsServiceRight("postgres");
// irrelevant stuff
}
private static void GrantLogonAsServiceRight(string username)
{
using (LsaWrapper lsa = new LsaWrapper())
{
lsa.AddPrivileges(username, "SeServiceLogonRight");
}
}
Run Code Online (Sandbox Code Playgroud)
和这个家伙威利的LSA lib.
Ste*_*end 11
请参阅在C#中授予用户权限.
您必须通过P/Invoke调用LSA API,并且该URL引用了为您执行此操作的包装类.所以你最终得到的代码很简单:
private static void GrantLogonAsServiceRight(string username)
{
using (LsaWrapper lsa = new LsaWrapper())
{
lsa.AddPrivileges(username, "SeServiceLogonRight");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7080 次 |
| 最近记录: |