3

偽装メカニズムを使用して、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());
}

助けてくれてありがとう!

4

1 に答える 1

4

これは、Windows ローカル セキュリティ ポリシーに関連しています。

ユーザーには、「サービスとしてログオン」ユーザー権利が割り当てられている必要があります。

于 2012-11-13T08:36:42.313 に答える