Führen Sie einen Windows-Prozess mit niedrigeren Berechtigungen aus

787
Guybrush

Ich sehe hier viele Threads darüber, wie eine Software so programmiert werden kann, dass sie unter Windows nach Administratorrechten fragt, aber in meinem Fall habe ich ein Software-Installationsprogramm, das mit Administratorrechten ausgeführt wird und am Ende der Installation einen anderen Prozess mit eingeschränkten Berechtigungen ausführen muss (als protokollierter Benutzer). Sowohl das Installationsprogramm als auch die installierte Software wurden von mir mit Delphi erstellt.

Ich forsche den ganzen Tag über dieses Thema und es scheint eine sehr schwierige Aufgabe zu sein, die nur mit der Programmsprache zu erreichen ist. Meine Frage ist, ob es einen Windows-Befehl gibt, mit dem ich die ausführbare Datei mit niedrigeren Berechtigungen oder möglicherweise eine Manifest-Konfiguration "aufrufen" kann, die ich in die installierte Software integrieren kann, um zu vermeiden, dass sie mit Administratorrechten ausgeführt wird. Nun, alle Ideen sind willkommen!

Vielen Dank!

0
Wenn Sie der Meinung sind, dass die Frage nicht relevant ist oder was auch immer, erklären Sie mir bitte, warum Sie ein Downgrade durchführen. Vielen Dank! Guybrush vor 6 Jahren 0
Ich habe diese Frage schon einmal gesehen und einige der Lösungen ausprobiert, ohne Erfolg. Ich werde neue Tests machen und Sie wissen lassen. Vielen Dank! Guybrush vor 6 Jahren 0
Wenn Sie die in der vorgeschlagenen Duplikatfrage angebotenen Optionen ausschöpfen, [bearbeiten] Sie Ihre Frage, um Ihre Bemühungen anzuzeigen, und geben Sie an, warum es sich nicht um ein Duplikat handelt. Twisty Impersonator vor 6 Jahren 0
Ich habe mein Ziel erreicht, eine Windows-Task (Task-Manager) zu planen, in der Folge auszuführen und zu löschen, mit dem Befehl [schtasks] (https://msdn.microsoft.com/de-de/library/windows/desktop/bb736357 ( v = vs.85) .aspx). Keine der in der ähnlichen Frage genannten Lösungen funktionierte für mich. Muss ich meine Frage bearbeiten, um meine Lösung aufzunehmen? Guybrush vor 6 Jahren 0
Nein, bitte posten Sie Ihre Lösung stattdessen als Antwort auf Ihre Frage. Schön, dass Sie eine Lösung gefunden haben! Twisty Impersonator vor 6 Jahren 1
Warum wurde diese völlig legitime Frage abgelehnt? Meine Güte Tiberiu-Ionuț Stan vor 5 Jahren 0

1 Antwort auf die Frage

1
Guybrush

Ich habe alle in der ähnlichen Frage gezeigten Lösungen ausprobiert, ohne Erfolg. Mein Workaround bestand darin, den Befehl schtasks in einer BAT-Datei zu verwenden, um eine Windows-Task zu planen, auszuführen und in der Reihenfolge zu löschen.

Zuerst erstelle ich eine Aufgabe manuell mit dem Aufgabenplaner und exportierte sie in eine XML-Datei (Rechtsklick> Exportieren).

Nachdem ich eine BAT-Datei erstellt habe, um den Job basierend auf der XML-Datei auszuführen:

schtasks /create /tn "TempTask" /xml "c:\temp.xml" schtasks /run /tn "TempTask" schtasks /delete /f /tn "TempTask" 

Hoffe es hilft anderen Leuten mit dem gleichen Problem! Vielen Dank!