我使用模拟机制来管理远程机器上的服务,我可以在 RDP 会话中使用我的用户名和密码连接到该机器并手动启动/停止服务。我还设法通过在模拟语句中使用 IntPtr.Zero 令牌的代码来启动/停止服务,但是在调用 logonuser 函数时,我遇到了失败(返回令牌 = 0 和错误 = 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());
}
谢谢您的帮助!