0

我只是在网上搜索了很多,但找不到任何帮助。我有自己的 Windows 服务,现在应该可以从我的主软件配置它。

我在安装、启动、停止、更改和卸载它时没有任何问题。我还可以使用其他用户凭据安装该服务。

但是问题就来了。在安装服务(“cmd”调用sc create SERVICENAME [...])之前,我想检查具有输入凭据的用户是否可以启动服务。所以我需要检查他是否在本地“作为服务登录”安全策略中输入。我不想更改政策,我只想检查是否允许他这样做。

是否可以简单地在 C# 中进行此检查?

4

1 回答 1

2

似乎“作为服务登录”是 LOGON32_LOGON_SERVICE 的登录类型,您可以从 Advapi32.dll 获得。我发现的第一件事(可能最有帮助)是尝试以用户身份登录的LogonUser 函数,因此如果您的用户以 LOGON32_LOGON_SERVICE 身份登录失败或成功,它可以用作检测。

是核心服务器功能的完整列表。列出的一些看起来很有希望,但可能需要一些反复试验,例如 AuditQuerySystemPolicy 等。祝你好运!

于 2016-02-18T14:12:18.063 回答