偽装メカニズムを使用して、RDP セッションで自分のユーザー名とパスワードを使用してそのマシンに接続し、サービスを手動で開始/停止できる離れたマシンでサービスを管理します。また、impersonate ステートメントで 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());
}
助けてくれてありがとう!