Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Ausführen als Administrator (https://www.delphipraxis.net/57502-ausfuehren-als-administrator.html)

Pump3r 22. Nov 2005 11:38


Ausführen als Administrator
 
Hi

Ist es möglich, eine Anwendung als Administrator auszuführen?

Ich hab das so vor, das wenn man das Programm startet, Administator PAsswort eingeben muss und dann ungestört ausführen kann was man will.

MfG
Pump3r

Luckie 22. Nov 2005 11:42

Re: Ausführen als Administrator
 
Ja, mit MSDN-Library durchsuchenCreateProcessWithLogonW. Ein Code-Snippet gibt es hier: http://www.luckie-online.de/Develope...ithLogonW.html . Und eiune ganze Anwnendung dazu hier: RunAsUser. Ist mit Source, da dürftest du auch die noch benötigte Unit mit der Deklaration von CreateProcessWithLogonW finden.

CG2003 22. Nov 2005 11:43

Re: Ausführen als Administrator
 
Zitat:

Zitat von Pump3r
Hi

Ist es möglich, eine Anwendung als Administrator auszuführen?

Ich hab das so vor, das wenn man das Programm startet, Administator PAsswort eingeben muss und dann ungestört ausführen kann was man will.

MfG
Pump3r

Also meines Erachtens sollte es so gehen:

- Shift-Taste gedrückt halten und mit der rechten Maustaste auf das Programm klicken
- Auf "Ausführen als..." gehen und die Benutzerdaten angeben (die vom Administratorkonto)


Hoffe, Dir damit geholfen zu haben.

Luckie 22. Nov 2005 11:49

Re: Ausführen als Administrator
 
@ CG2003: Da es in einer Delphi Sparte steht, denke ich, dass er es programmtechnisch lösen will. ;)

Pump3r 22. Nov 2005 12:53

Re: Ausführen als Administrator
 
Genau. :)

Danke für eure Hilfe, ich werd mich mal dran hängen.

Gruß Pump3r

aps 24. Dez 2005 10:57

Re: Ausführen als Administrator
 
Erweiterte Frage: Kann man bei Bedarf damit auch das eigene Programm anheben?

Also: Normal läuft das Programm als eingeschränkter Benutzer. Für eine ganz bestimmte Operation werden jedoch Admin-Rechte benötigt. In diesem Moment sollte halt das Passwort-Fenster aufpoppen und das Programm nach Eingabe des entsprechenden Kennworts im Admin-Kontext ausgeführt werden.

Ist das möglich? Ich vermute mal, dass dem leider nicht so ist, würde mich aber freuen, wenn jemand einen Weg kennt, der das doch ermöglicht.

Luckie 24. Dez 2005 11:18

Re: Ausführen als Administrator
 
Sollte nicht gehen. Die Rechte werden im Token des Prozesses hinterlegt, um das mal etwas vereinfacht auszudrücken. Und diesen Token zur Laufzeit zu modifizieren würde bedeuten, dass du zur laufzeit das Token ändern musst. Und das geht wahrscheinlich nur mit undokumentierten API Funktionen. Von der Benutzung von undokumentierten API Funktionen ist aber abzuraten, da keine Garantie besteht, dass sie nach einem Update noch funktionieren.

Basilikum 24. Dez 2005 11:37

Re: Ausführen als Administrator
 
zumindest einzelne Threads innerhalb des bereits existierenden Prozesses im Kontext vom Administrator laufen zu lassen, sollte eigentlich mit
MSDN-Library durchsuchenLogonUser und
MSDN-Library durchsuchenImpersonateLoggedOnUser
machbar sein... (das einzige Hindernis könnten fehlende Privilegien sein...)

DGL-luke 24. Dez 2005 11:39

Re: Ausführen als Administrator
 
Man könnte für "Adminaufgaben" auch eine neue Instanz des Programms starten, das dann die Admin-Funktionen hat, und die alte Instanz schließen.
Oder ein eigenes Programm für die Adminaufgaben, das dann gestartet wird.

Luckie 24. Dez 2005 11:40

Re: Ausführen als Administrator
 
Für Logonuser fehlen dir definitiv die Privilegien. An ImpersonateLoggedOnUser habe ich jetzt nicht gedacht, da ich es noch nie benutzt habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:46 Uhr.
Seite 1 von 2  1 2      

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