Modello broker amministratore

Nel modello di broker amministratore l'applicazione è divisa in due programmi. Uno dei programmi viene eseguito come utente standard e l'altro viene eseguito con privilegi di amministratore.

Usando un manifesto dell'applicazione, contrassegnare il programma utente standard con una richiestaExecutionLevel di asInvoker e contrassegnare il programma amministrativo con una richiestaExecutionLevel di requireAdministrator. Un utente avvia prima il programma utente standard. Quando l'utente tenta di eseguire un'operazione che richiede un token di accesso amministratore completo, il programma utente standard chiama la funzione ShellExecute per avviare il programma amministrativo. La funzione ShellExecute richiede all'utente l'approvazione prima di eseguire l'applicazione con il token di accesso amministratore completo dell'utente. Il programma amministrativo può quindi eseguire attività che richiedono privilegi di amministratore.

Il programma amministrativo non è completamente isolato dal programma utente standard. Il programma amministrativo può abilitare la comunicazione tra processi con il programma utente standard. Tuttavia, tale comunicazione è limitata dai criteri di integrità obbligatori predefiniti. Per informazioni sulle considerazioni sull'integrità obbligatorie, vedere Progettazione di applicazioni da eseguire a basso livello di integrità.

Di seguito sono riportati gli usi possibili per il modello di broker amministratore:

  • Sviluppo di procedure guidate. Quando una procedura guidata hardware determina che un driver obbligatorio non è installato nel computer o si trova nel percorso approvato dell'organizzazione, chiama un'applicazione con privilegi elevati con la possibilità di spostare un driver nell'archivio computer.
  • Autorun.exe chiamata Setup.exe. Quando un utente esegue software da un CD, Autorun.exe, che viene eseguito come utente standard, avvia Setup.exe, che viene eseguito come amministratore, per installare il software nel computer.

Di seguito sono riportati gli svantaggi per l'uso del modello di broker amministratore:

  • Le transizioni dall'applicazione all'applicazione possono essere confuse all'utente. Può essere difficile informare l'utente perché una nuova applicazione viene visualizzata nel monitoraggio.
  • Può essere difficile passare informazioni sullo stato tra le due applicazioni. Ad esempio, non si userebbe questo modello per passare le informazioni sullo stato tra un pannello di controllo utente standard (CPL) e la controparte amministratore semplicemente per consentire alla stessa CPL di avere funzionalità utente amministrative e standard. L'utente standard CPL deve archiviarne lo stato da qualche parte.
  • Il codice replicato può essere elevato quando si suddivide la funzionalità tra due programmi.

Sviluppo di applicazioni che richiedono privilegi di amministratore

Modello a oggetti COM amministratore

Modello di servizio del sistema operativo

Modello di attività con privilegi elevati