Windowsサービスをリモートコンピュータにインストールする必要があるため、CreateService()とwinapiの他のサービス機能を使用します。私は、アクセスが必要なマシンの管理者パスワードとユーザー名を知っています。リモートマシンへのアクセスを得るために、私はこのようなのLogonUserの助けを借りて、プロセスを呼び出す偽装:だからWindowsサービスのリモートインストール
//all variables are initialized correctly
int status = 0;
status = LogonUser(lpwUsername,
lpwDomain,
lpwPassword,
LOGON32_LOGON_NEW_CREDENTIALS,
LOGON32_PROVIDER_DEFAULT,
&hToken);
if (status == 0)
{
//here comes a error
}
status = ImpersonateLoggedOnUser(hToken);
if (status == 0)
{
//once again a error
}
//ok, now we are impersonated, do all service work there
、私は、ドメイン内のマシンへのアクセスを得るが、一部のコンピュータは、ドメインの外にあります。ドメイン外のマシンでは、このコードは機能しません。ドメイン外のマシン上のサービスマネージャにアクセスする方法はありますか?