Einzelnen Beitrag anzeigen

MiniMatrix

Registriert seit: 5. Feb 2010
16 Beiträge
 
#1

RunAsUser - geht so was auch für Registry Zugriffe?

  Alt 5. Feb 2010, 17:05
Wenn man kein Administrator ist, so kann man doch Programme über die "RunAsUser" Funktionalität starten.
Das habe ich so auch in meinem Programm implementiert und dazu die API Funktion "CreateProcessWithLogonW" verwendet, um aus einem Programm heraus bei fehlenden Admin Rechten dennoch eine Programmausführung zu ermöglichen.
Damit dies klappt, wurde ein entsprechender Username und Passwort im Programmcode fest hinterlegt.

Also hatte ich das Problem gelöst: Statt über <Set oShell = CreateObject( "WScript.Shell" )> und anschließendem <nResult = oShell.Run( sCommand, 1, True )> zu gehen, habe ich es über die Funktion "CreateProcessWithLogonW" gelöst. Tut. Klasse.

Jetzt benötige ich aber auch einen Zugriff auf die Registry (schreibend). Dies tue ich momentan über die API Funktion "RegOpenKeyEx", die aber leider nicht funktioniert und einen Fehler wirft (aber nur, wenn ich kein Admin bin).

Jetzt meine Frage:
==================
Kennt jemand eine Möglichkeit, dies ebenfalls so zu erledigen, dass man diese Aufgabe unter einem anderen Benutzerkonto, also dem Administrator, erledigt. Wo man ggf. genauso wie oben durch einen speziellen Aufruf sich kurzfristig als solcher ausgeben kann (mit Name und Passwort)?

Ich bin für __j__e__d__e__ Idee dankbar.

Eine eventuelle Lösung kann als Delphi Code, C oder C++ Code oder VB vorgeschlagen werden. Gut wäre, wenn dabei keinerlei spezialisierten Objekte der jeweiligen Sprache zum Einsatz kämen. Aber egal wie, jede Lösung oder Lösungsansatz ist besser als das, was ich bisher habe.

MiniMatrix
  Mit Zitat antworten Zitat