![]() |
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? |
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. |
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. |
Re: prozedur/programm als Admin ausführen
geht das auch nur für einzelne, programminterne prozeduren?
|
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. |
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.
|
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!) |
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.
|
Re: prozedur/programm als Admin ausführen
wusst ich gar nicht!
dann hat sich das problem erledigt! Thx! |
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 15:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz