Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Anwendung aus Dienst heraus starten (https://www.delphipraxis.net/184721-anwendung-aus-dienst-heraus-starten.html)

Captnemo 16. Apr 2015 20:42

AW: Anwendung aus Dienst heraus starten
 
Also, es muss ein Dienst (TService) sein.
Aber er kann unter einem beliebigen Benutzerkonto ausgeführt werden.
Das sind die Vorgaben, an die ich mich halten muss (wenn's denn geht)

Aber warum es wenn der Dienst unter einem anderen Benutzer läuft kein Dienst mehr sein soll ist mir nicht klar. Ich kann doch in der Dienst-Konsole für einen Dienst explizit ein Benutzerkonto auswählen (Es gibt ja auch das Recht für Benutzerkonto "Als Dienst anmelden"). Das hat doch dann auch nichts mit Autostart zu tun.
Sprich: ich kann einen Dienst unter meinem Benutzerkonto starten, der auch weiter läuft wenn ich mich abmelde.

Das Programm kann ja auch gestartet werden, laut Taskmanager und es läuft auch unter den gleichen Benutzerkonto laut Taskmanager. Es scheint nur das Problem zu sein, dass das MainWindow sich nicht auf dem Desktop erzeugt.

Anmeldedaten brauch ich dafür eigentlich auch nicht, da diese ja schon in der Dienste-Konsole hinterlegt worden sind.

Luckie 16. Apr 2015 20:44

AW: Anwendung aus Dienst heraus starten
 
Erklär doch mal, was eigentlich der "Dienst" machen soll? Und warum es ein Dienst sein muss.

Captnemo 16. Apr 2015 20:51

AW: Anwendung aus Dienst heraus starten
 
Weil er per TCP Kommandos empfängt, und über die Kommandos dann andere Dienste starten bzw. Neustarten und auch Programme auf dem Desktop des angemeldeten Benutzers.
Programme natürlich nur, wenn ein Benutzer angemeldet ist, aber Dienste auf jeden Fall, auch wenn z.Zt. Kein Benutzer angemeldet ist.

Wenn's nicht geht, dann schreib ich mir halt noch was, das beim Logon des Users als Programm in der TBNA liegt und diese Aufgabe für Programme übernimmt. Ich dachte halt, das es eigentlich gehen sollte.

Stevie 16. Apr 2015 20:59

AW: Anwendung aus Dienst heraus starten
 
Das hier sollte eigentlich alles notwendige erklären:
http://blogs.msdn.com/b/winsdk/archi...and-later.aspx

Luckie 16. Apr 2015 23:17

AW: Anwendung aus Dienst heraus starten
 
Zitat:

The first thing you should do about it is that, don't do it.
Schon da sollte man sich überlegen, ob das gut ist, was man vor hat. Und da habe ich schon aufgehört zu lesen.

Also du hast einen Dienst der Anweisungen über das Netzwerk bekommt und die bestehen unter anderen darin andere Dienste zu starten oder für den angemeldeten Benutzer Programme?

OK, andere Dienste Starten sollte kein Problem sein.

Für den angemeldeten Benutzer schon. Denn für welchen angemeldeten Benutzer? Wenn ich aus dem Startmenü den Menüpunkt "Benutzer wechseln" auswähle, dann sind schon mal zwei oder mehr Benutzer angemeldet. Dann gibt es noch Terminal Sessions. Um es kurz zu machen, es gibt nicht DEN angemeldeten Benutzer.

Captnemo 17. Apr 2015 05:54

AW: Anwendung aus Dienst heraus starten
 
Ja, ihr habt recht. Nach dem Artikel von Stevie ist mir das auch klar, warum. Und die vielen Wiederholungen von den Wörten "Never, no, don't do this, usw" sagen ja auch aus, dass man es wohl tunlichst lassen sollte (aber immerhin auch das es mal theoretisch gehen könne ;) )

Und selbst wenn es doch hinbekommt ist ja zum einen am Sicherheitssystem komplett vorbei und zum anderen würde es bei kommenden Win-Generationen sicherlich wieder Probleme aufwerfen.

Deshalb werde ich mein ursprüngliches Vorhaben verwerfen. Das der Dienst per TCP-Kommando andere Dienste startet funktioniert schon wunderbar. Für das Starten der Programm werde ich den Dienst als Programm kompilieren, der über Autostart in der TBNA schlummert und eben das gleiche für die Programme übernimmt. Ich denke das ist auch eine ganz gute Lösung.

Zitat:

Zitat von Luckie (Beitrag 1298093)
Zitat:

The first thing you should do about it is that, don't do it.
Und da habe ich schon aufgehört zu lesen.

Ja, aber auch nur, weil du den Rest schon auswendig kannst :D
Ich fand ihn sehr informativ, und hab auch den Rest gelesen.

taveuni 17. Apr 2015 12:56

AW: Anwendung aus Dienst heraus starten
 
Es gibt sehr wohl Anwendungen in welchen es Sinn macht aus einem Dienst welcher unter dem Systemkonto läuft Anwendungen im User Kontext zu starten. Das machen unter anderem Remote Access Tools wie Teamviewer. Auch für benutzerspezifische Updates wird das gebraucht. Und: wo soll genau das Sicherheitsproblem in einem selbst erstellten Dienst sein?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:42 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz