Ich muss Windows-Dienst remote auf Anzahl der Computer installieren, damit ich CreateService() und andere Service-Funktionen von WinAPI verwenden. Ich kenne das Administratorkennwort und den Benutzernamen für Computer, auf die ich zugreifen muss. Um den Zugriff auf entfernte Computer zu verschaffen ich IMPERSONATE Prozesses mit Hilfe von Logonuser wie dieser Aufruf:Remote-Installation von Windows-Dienst
//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
So erhalte ich Zugang zu Maschine in einer Domäne, aber einige von Computern sind aus Domäne. Auf Computern außerhalb der Domäne funktioniert dieser Code nicht. Gibt es eine Möglichkeit, den Dienstmanager auf der Maschine außerhalb der Domäne aufzurufen?