Freigeben über


Administratorbrokermodell

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

Markieren Sie mithilfe eines Anwendungsmanifests das Standardbenutzerprogramm mit einem requestedExecutionLevel von asInvoker , und markieren Sie das Verwaltungsprogramm mit dem 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 vollständigen Administratorzugriffstoken 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 prozessübergreifende Kommunikation mit dem Standardbenutzerprogramm ermöglichen. Diese Kommunikation wird jedoch durch die standardmäßige obligatorische Integritätsrichtlinie eingeschränkt. Informationen zu obligatorischen Integritätsüberlegungen finden Sie unter Entwerfen von Anwendungen, die mit einer niedrigen Integritätsstufe ausgeführt werden.

Im Folgenden finden Sie mögliche Verwendungsmöglichkeiten für das Administratorbrokermodell:

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

Die folgenden Nachteile sind bei 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 Zustandsinformationen zwischen einer Standardmäßigen Benutzersteuerung (CPL) und deren Administratorentsprechung zu übergeben, um der gleichen CPL die Administrator- und Standardbenutzerfunktionalität zu ermöglichen. Die Standardbenutzer-CPL muss ihren Zustand irgendwo speichern.
  • Beim Aufteilen der Funktionalität auf zwei Programme kann viel replizierter Code vorhanden sein.

Entwickeln von Anwendungen, die Administratorrechte erfordern

COM-Objektmodell des Administrators

Betriebssystemdienstmodell

Aufgabenmodell mit erhöhten Rechten