Мне нужно удаленно установить службу Windows на нескольких компьютерах, поэтому я использую CreateService () и другие функции службы из winapi. Я знаю пароль администратора и имя пользователя для машин, к которым мне нужен доступ. Чтобы получить доступ к удаленной машине, я олицетворяю вызывающий процесс с помощью LogonUser следующим образом:
//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
Итак, я получаю доступ к машине в домене, но некоторые компьютеры находятся вне домена. На машинах вне домена этот код не работает. Есть ли способ получить доступ к диспетчеру служб на компьютере вне домена?