[C/C++ Win32 API] Remoteservice mit Netzwerkzugriff

Daniel Toplak

Erfahrenes Mitglied
Hi ich habe mal eine etwas haarige Frage:

Ich habe einen NT-Service erstellt und kopiere und starte diesen Service auf einen Client in einem Netzwerk.

Das ganze geschieht auf einem Adminrechner, der über Domän-Admin-Rechte verfügt. In dem Windows Netzwerk arbeiten ein Windows Domäncontroller (NT4, 2000, 2003) ist in diesem Fall wichtig das alle gehen.
Auf diesem "Adminrechner" wird eine Application ausgeführt, die einen Service über das Erstellen einer Freigabe remote auf den Client kopiert und startet. Der Service soll nach dem Starten eine Installation (ohne GUI) die im Netzwerk per UNC erreichbar ist starten (evtl. mit CreateProcess).

So nun zu meinem Problem:
Wenn ich den Service als LocalSystem laufen lasse, hab ich keinen Netzwerkzugriff (brauche aber lesenden und schreibenden Zugriff). Wenn ich den Service als User Starte fuktioniert es auch. Nun ist es so, daß der User mit Passwort zwar bekannt ist(Domän-Admin) aber dieser User steht bei den Clients nicht in den Lokalen Richtlinien unter "Als Dienst Anmelden" drin.

So nun hätte ich denke ich mal 2 Möglichkeiten:
1.
Ich starte den Service als Local System und starten dann den Prozess der Installation im Netzwerk unter einem andern User (LogonUser() -> CreateProcessAsUser()). Was allerdings bisher immer schief ging.

2.
Ich erstelle den Service und trage unter "Anmelden als" den Domän-Admin ein (CreateService(...)). Was auch geht, allerdings muss ich dann bevor ich den Dienst starte die Lokalen Richtlinien des Clients verändern (s.o.) und zwar auch remote über den Adminrechner.

Da es sich um mehrere Clients handeln kann (5-300) muss daß ganze remote passieren.
So jetzt überlegt mal und helft mir dabei ein wenig.
Wer hat Erfahrung mit sowas?

Vielen Dank

Gruss Homer
 
Zuletzt bearbeitet:
Nachdem ich jetzt das ganze Wochende rumexperementiert habe und einige 100 Postings in den Newsgroups bei google-groups gelesen habe und zig Internetseiten durchgeforstet habe bin ich glaub ich auf eine Lösung gestossen.
Und zwar werde ich mich für Möglichkeit 2 entscheiden.
Mit Hilfe der LSA (Local Security API) kann man nämlich die Lokalen Richtlinien eines Clients in einer Domäne remote anpassen (Domän-Admin-Rechte, bzw lokale Admin-Rechte vorrausgesetzt).

Ich werde das am Montag mal testen ob das reibungslos funktioniert.

Gruss Homer

P.S. bin trotzdem für weitere Anregungen bezüglich dieses Themas dankbar.
 
Ok das mit der LSA (Local Security API) funktioniert wunderbar. Wen es interressiert, dem kann ich da gern behilflich sein.

Gruss Homer
 
Zurück