Laden...

UAC + RedirectStandardOutput

Letzter Beitrag vor 14 Jahren 4 Posts 1.355 Views
UAC + RedirectStandardOutput

Hallo zusammen,

stehe vor folgendem Problem, bei dem ich bis jetzt mit googeln und probieren auch nicht weiter gekommen bin.

Ich möchte mit diskpart.exe den Status eines Softwareraids unter Windows auslesen. Die Ausgabe von Diskpart wollte ich umlenken und in eine Datei schreiben um diese auszuwerten. Diskpart benötigt aberAdminrechte.
Leider kann ich aber den Standardoutput des Prozesses nicht verändern, da ich dafür die Option UseShellExecute auf false setzen müsste und damit wieder keine Adminrehcte habe.

Hat jemand von euch eine Idee wie das zu bewerstelligen ist?

LG

Etienne

Hallo Etienne,

hänge einfach einen Prozess dazwischen (der mit Adminrechten läuft und den externen Prozess startet), der den Output an dein Programm weiterleitet (Remoting oder wie auch immer).

Hallo winsharp93,

irgendwie hab ich ein Verständnissproblem. Wenn doch der 2. Prozess von dem 1. gestartet wird und der 1. hat Adminrechte, vererbt er dann nicht die Rechte?

Und 2. wie starte ich aus einem Prozess einen anderen?

Danke im Voraus

Etienne

Vielleicht habe ich es auch falsch verstanden:
Du hast ein externes Programm (nennen wir es mal Extern.exe). Dieses benötigt Adminrechte und dessen Output soll umgeleitet werden.
Dein Programm hat keine Adminrechte (und soll auch keine haben), soll aber auf den Output von Extern.exe zugreifen.

Nun mein Vorschlag, dass dein Programm ein weiteres, eigenes Programm mit erhöhten Rechten startet. Dieses wiederum startet Extern.exe und vererbt seine Rechte an dieses.
Zusätzlich leitet es allerdings noch den Ouptut um (das sollte dann ja problemlos möglich sein, da beide Programme mit vollen Rechten laufen). Dieses Output leitet es dann (z.B. per Remoting) an das ursprüngliche Programm weiter, dass somit keine Administratorrechte benötigt.

Generell ist zum Thema UAC der Artikel Codeproject: Vista UAC: The Definitive Guide empfehlenswert.