Remote-Installation von Windows-Dienst
-
09-06-2019 - |
Frage
Ich muß remote Windows-Dienst auf Anzahl von Computern installiert werden, so dass ich Create () und andere Servicefunktionen von winapi. Ich weiß, dass Admin-Passwort und Benutzernamen für die Maschinen, die ich Zugang zu müssen. Um den Zugriff auf entfernte Computer zu verschaffen ich IMPERSONATE Prozesses mit Hilfe von Logonuser wie dieser Aufruf:
//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. Bei Maschinen, die aus Domäne dieser Code nicht funktioniert. Gibt es eine Möglichkeit Service-Manager auf der Maschine aus Domäne zugreifen?
Lösung
Sie können es tun, das Konto muss auf dem entfernten Rechner existieren, und Sie müssen die Computernamen für die Domänennamen in den Logonuser Aufruf verwenden.
Andere Tipps
Anstatt Ihre eigenen Rollen, warum nicht nur den SC integrierte Befehl verwenden?
OK, Problem gelöst (nicht wirklich sehr gut, aber eher OK). Ich benutzte WNetAddConnection (), um ipc $ auf Remote-Rechner.