我使用模拟机制来管理远程计算机上的服务 我可以在RDP会话中使用我的用户名和密码连接到该计算机并手动启动/停止服务。 我还设法使用impersonate语句中的IntPtr.Zero令牌通过代码启动/停止服务, 但是当调用logonuser函数时,我得到一个失败(返回token = 0和error = 87)
这里有一些代码:
if (LogonUser(_userName, domain, _Password, logonType (= 5), logonProvider (= 0), out token))
{
MessageBox.Show("success!");
return token;
}
else
{
MessageBox.Show("Logon user throwing " + token + " " + Marshal.GetLastWin32Error());
}
感谢您的帮助!
答案 0 :(得分:3)
这与Windows本地安全策略
有关用户应分配“作为服务登录”用户权限。