Freigeben über


Administratorbrokermodell

Im Administratorbrokermodell ist die Anwendung in zwei Programme unterteilt. Eines der Programme wird als Standardbenutzer ausgeführt, und die andere wird mit Administratorrechten ausgeführt.

Markieren Sie mithilfe eines Anwendungsmanifests das Standardbenutzerprogramm mit einem requestedExecutionLevel von asInvoker und markieren Sie das Verwaltungsprogramm mit einem requestedExecutionLevel- von requireAdministrator. Ein Benutzer startet zuerst das Standardbenutzerprogramm. Wenn der Benutzer versucht, einen Vorgang auszuführen, der ein vollständiges Administratorzugriffstoken erfordert, ruft das Standardbenutzerprogramm die ShellExecute-Funktion auf, um das Verwaltungsprogramm zu starten. Die ShellExecute-Funktion fordert den Benutzer zur Genehmigung auf, bevor die Anwendung mit dem Volladministratorzugriffstoken des Benutzers ausgeführt wird. Das Verwaltungsprogramm kann dann Aufgaben ausführen, die Administratorrechte erfordern.

Das Verwaltungsprogramm ist nicht vollständig vom Standardbenutzerprogramm isoliert. Das Verwaltungsprogramm kann die Interprozesskommunikation mit dem Standardbenutzerprogramm ermöglichen. Diese Kommunikation ist jedoch durch die standardmäßige obligatorische Integritätsrichtlinie beschränkt. Informationen zu obligatorischen Integritätsüberlegungen finden Sie unter Entwerfen von Anwendungen für die Ausführung auf niedriger Integritätsebene.

Im Folgenden sind mögliche Verwendungsmöglichkeiten für das Administratorbrokermodell möglich:

  • Entwickeln von Assistenten. Wenn ein Hardware-Assistent feststellt, dass ein erforderlicher Treiber nicht auf dem Computer installiert ist oder sich am genehmigten Speicherort des Unternehmens befindet, ruft er eine Anwendung mit erhöhten Rechten auf, um einen Treiber in den Computerspeicher zu verschieben.
  • Autorun.exe wird Setup.exeaufgerufen. Wenn ein Benutzer Software von einer CD ausführt, Autorun.exe, die als Standardbenutzer ausgeführt wird, startet Setup.exe, die als Administrator ausgeführt wird, um die Software auf dem Computer zu installieren.

Im Folgenden sind die Nachteile der Verwendung des Administratorbrokermodells aufgeführt:

  • Die Übergänge von Anwendung zu Anwendung können für den Benutzer verwirrend sein. Es kann schwierig sein, den Benutzer darüber zu informieren, warum eine neue Anwendung auf dem Monitor angezeigt wird.
  • Es kann schwierig sein, Zustandsinformationen zwischen den beiden Anwendungen zu übergeben. Beispielsweise würden Sie dieses Modell nicht verwenden, um Statusinformationen zwischen einer Standardbenutzersteuerung (CPL) und seinem Administratorentsprechung zu übergeben, um demselben CPL die Verwaltung und Standardbenutzerfunktionalität zu ermöglichen. Der Standardbenutzer-CPL müsste seinen Zustand irgendwo speichern.
  • Beim Aufteilen der Funktionalität zwischen zwei Programmen kann viel replizierter Code vorhanden sein.

Entwickeln von Anwendungen mit Administratorrechten

ADMINISTRATOR-COM-Objektmodell

Betriebssystemdienstmodell

mit erhöhten Rechten