Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi prozedur/programm als Admin ausführen (https://www.delphipraxis.net/7942-prozedur-programm-als-admin-ausfuehren.html)

Illuminator-23-5 25. Aug 2003 08:34


prozedur/programm als Admin ausführen
 
kann ich unter Win2K ein Programm unter einem anderen User ausführen?
z.B. wenn ich als normaler User angemeldet bin und ein Programm aufmache.
Dieses Programm öffnet ein Anderes Programm, das aber unter dem Benutzer 'Administrator' ausgeführt wird?
z.B. dass ich Schreibe:
function ProgrammAusführenAls(Pfad, Benutzer, Passwort: string): boolean;

Als rückgabewert kommt dann zurück, obs geklappt hat, oder nicht
Geht das oder ist das unmöglich?

Helpliner 25. Aug 2003 10:20

Re: prozedur/programm als Admin ausführen
 
Hi Illuminator,

also über die Konsole geht das Problemlos per "runas /user:Benutzername Programmname", wie man dieses jetzt in Delphi abwickelt kann ich dir leider nicht sagen, aber hier gibt es ja genug Leute die sowas können.

Christian Seehase 25. Aug 2003 11:22

Re: prozedur/programm als Admin ausführen
 
Moin Zusammen,

das Kernstück dafür ist die API CreateProcessAsUser.
Die genaue Anwendung hab' ich jetzt leider nicht zur Hand.

Illuminator-23-5 25. Aug 2003 12:09

Re: prozedur/programm als Admin ausführen
 
geht das auch nur für einzelne, programminterne prozeduren?

Assarbad 25. Aug 2003 12:16

Re: prozedur/programm als Admin ausführen
 
Jain.

Die o.g. API benötigt den RUNAS-Service. Das hat seinen Grund. Um nämlich mit Tokens zu spielen, mußt du das TCB-Privileg (Trusted Computing Base) haben ... das hat der Admin normalerweise nicht, aber SYSTEM schon. Services laufen allgemein unter SYSTEM.

Du müßtest also einen Service schreiben oder das Programm irgendwie anders an die Privilegien ein primäres Token zu erzeugen und zur TCB zu gehören rankommen lassen. Dann kannst du über LogonUser und Impersonation deinen Thread im Kontext eines beliebigen Benutzers laufen lassen, insofern du seine Credentials (username password) kennst.

Luckie 25. Aug 2003 12:17

Re: prozedur/programm als Admin ausführen
 
Nein. Damit kannst du nur ganze Prozesse unter einem anderen Bneutzerkontext ausführen. Du mußt allerdings dessen Login und Passwort kennen.

Illuminator-23-5 25. Aug 2003 12:26

Re: prozedur/programm als Admin ausführen
 
Kann sich das Prog auch selbst Unter einem Anderen User ausführen, denn das Problem ist folgendes:
ich versuch, ein Programm zu machen, das dann in die Windows-Dienste kommen soll. Dieses Programm enthält einige Funktionen, die aber Admin-Rechte brauchen, um ausgeführt werden zu können.
Muss ich da dann eine eigene Exe machen, die dann in den Diensten ist und dann das eigentliche Programm dann mit Adminrechten ausführt oder kann sich das Programm selbst diese Rechte irgendwie geben (natürlich unter der Voraussetzung, dass ich das pw kenne!)

Luckie 25. Aug 2003 12:28

Re: prozedur/programm als Admin ausführen
 
Wenn es als Dienst läuft, hat es sowieso Admin-, wenn nicht sogar System-Rechte. Dientse installieren und starten kann aber auch nur wiederrum ein Admin oder ein Benutzer mit entsprechenden Rechten.

Illuminator-23-5 25. Aug 2003 12:30

Re: prozedur/programm als Admin ausführen
 
wusst ich gar nicht!
dann hat sich das problem erledigt!
Thx!

Illuminator-23-5 25. Aug 2003 12:45

Re: prozedur/programm als Admin ausführen
 
trotzdem noch 'ne frage:
ich hab gefunden, wie ich herausbekomme, ob ich Adminrechte habe oder nicht, gibts das für 'system-rechte', oder kann ich davon ausgehen, wenn ich nicht Adminrechte hab, dass ich 'system-rechte' hab?
Worin liegt eigentlich der unterschied zwischen Admin- und systemrechte?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:01 Uhr.
Seite 1 von 3  1 23      

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