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 Wie Adminrechte für eigenes Prog holen ? (https://www.delphipraxis.net/48065-wie-adminrechte-fuer-eigenes-prog-holen.html)

DP-Maintenance 20. Jun 2005 10:22

DP-Maintenance
 
Dieses Thema wurde von "sakura" von "Windows 9x / ME / 2000 / XP / 2003" nach "Windows API / MS.NET Framework API" verschoben.
Na gut, dann zurück...

sakura 20. Jun 2005 10:24

Re: Wie Adminrechte für eigenes Prog holen ?
 
Zitat:

Zitat von kalmi01
weil ich einen WorkAround in Delphi programmiert habe, der die Sachen aus den lokalen Prg-Verzeichnissen an die richtigen Stellen im System kopiert, wo die "Alt-Software" ihr geraffel sucht.
Ist leider nicht nur ein Pfad, sondern auch noch Registry-Einträge.
Diese können sich dynamisch ändern und sollen von meinem Prog an die richtige Stelle im System gebeamt werden.

Eine Erklärung, welche Du auch eher hättest geben können ;-)

Zitat:

Zitat von kalmi01
Mein Delphi-Prog funktioniert auch soweit, allerdings bräuchte ich für ein paar Millisekunden Adminrechte, ähnlich wie mit RunAs oder SU unter UNIX.
Einen geeigneten Admin-Acount, der nur das darf, was ich brauche, hab ich ebenfalls angelegt.

Jetzt muss mein Prg nur unter User-Acount die Daten sammeln und anschließend als Admin ins System schießen.

Dann schreibst Du also doch ein Delphi-Programm. Dann sollte Dir der obige Code von mir auch helfen, oder :gruebel: Damit kannst Du zur gegebenen in den administrativen Account wechseln. Mit MSDN-Library durchsuchenRevertToSelf kannst Du zu späterer Zeit wieder zurück auf die normale Userebene.

...:cat:...

Olli 20. Jun 2005 13:04

Re: Wie Adminrechte für eigenes Prog holen ?
 
Das o.g. Mapping der INI-Dateien solltet ihr nochmals in Betracht ziehen!!! Wenn entsprechende Funktionen von Windows benutzt werden, funktioniert das. Ist es eine "homegrown"-Lösung, dürfte es nicht gehen. Also am besten erstmal abchecken.

kalmi01 21. Jun 2005 04:47

Re: Wie Adminrechte für eigenes Prog holen ?
 
Hi Olli,

wenn jemand eine INI-Datei im Working-Directory anlegt, Sie ins Programm-Verzeichnis kopiert und nach Windows/WinNT, beim nächsten Start die INI-Datei aber nur im Windows/WinNT-Verzeichnis sucht, geh ich mal nicht davon aus, dass er:
Zitat:

Wenn entsprechende Funktionen von Windows benutzt werden, funktioniert das.
dies berücksichtigt hat :spin2:

NicoDE 21. Jun 2005 04:49

Re: Wie Adminrechte für eigenes Prog holen ?
 
Mit welchen (API-)Funktionen greift das Programm auf die Daten der INI-Datei zu?
(gibt es eine Möglichkeit das ganze abzukürzen - zum Beispiel das Programm zur Einsicht per EMail?)

kalmi01 21. Jun 2005 05:14

Re: Wie Adminrechte für eigenes Prog holen ?
 
Hallo NicoDE,
Zitat:

Mit welchen (API-)Funktionen greift das Programm auf die Daten der INI-Datei zu?
:?: :gruebel: :?: :gruebel: :?:
Ist Fremdsoftware.



:hello:
so, hier also eine Lösung:
Delphi-Quellcode:
var
  Token : Cardinal;
begin
  if not LogonUser('admin',  //'UserName'
                   'hier',   //'Domain'
                   '1234',   //'Password'
                   LOGON32_LOGON_BATCH,
                   LOGON32_PROVIDER_DEFAULT,
                   Token)
  then MessageDlg('Unbekannter Benutzer', mtWarning, [mbOK], 0);

  if not ImpersonateLoggedOnUser(Token)
  then MessageDlg('Benutzerrechte nicht übernommen', mtWarning, [mbOK], 0);

  if not DeleteFile('\\pc116115\c$\test')
  then MessageDlg('Löschen fehlgeschlagen', mtWarning, [mbOK], 0);

  RevertToSelf;
end;
LOGON32_LOGON_INTERACTIVE hatte nicht funktionierte, warum auch immer,
LOGON32_LOGON_BATCH hat dafür prima geklappt.

Problem gelöst :!:

:thumb: :dancer:

NicoDE 21. Jun 2005 05:24

Re: Wie Adminrechte für eigenes Prog holen ?
 
Zitat:

Zitat von kalmi01
Ist Fremdsoftware.

Das würde mich nicht abhalten es herauszufinden (und zu fixen) *g*
Wie auch immer, Du hast ja eine Lösung.

Vjay 22. Jun 2005 16:05

Re: Wie Adminrechte für eigenes Prog holen ?
 
Naja als Alternative vielleicht einen Funktionshook in die externe Software schieben und den Pfad zur Ini-Datei abändern ;).
Ist genau so eine Frickellösung, aber es hilft ja nichts ;). Ist wohl schwieriger, aber wenigstens baust du dir keine Löcher ins System (oder?).


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 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