我需要在多臺計算機上遠程安裝windows服務,所以我使用了winapi的CreateService()和其他服務功能。我知道我需要訪問的機器的管理員密碼和用戶名。爲了訪問遠程計算機模仿我調用進程的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
所以,我訪問機器的域名,但某些計算機是出域。在超出域的機器上,此代碼不起作用。有沒有辦法在域外訪問機器上的服務管理器?