Partager via


Modèle broker d’administrateur

Dans le modèle de répartiteur administrateur, l’application est divisée en deux programmes. L’un des programmes s’exécute en tant qu’utilisateur standard, tandis que l’autre s’exécute avec des privilèges d’administrateur.

À l’aide d’un manifeste d’application, marquez le programme utilisateur standard avec un requestedExecutionLevelasInvoker et marquez le programme d’administration avec un requestedExecutionLevelde requireAdministrator. Un utilisateur lance d’abord le programme utilisateur standard. Lorsque l’utilisateur tente d’effectuer une opération qui nécessite un jeton d’accès administrateur complet, le programme utilisateur standard appelle la fonction ShellExecute pour lancer le programme d’administration. La fonction ShellExecute invite l’utilisateur à approuver avant d’exécuter l’application avec le jeton d’accès administrateur complet de l’utilisateur. Le programme d’administration peut ensuite effectuer des tâches qui nécessitent des privilèges d’administrateur.

Le programme administratif n’est pas complètement isolé du programme utilisateur standard. Le programme d’administration peut activer la communication interprocessus avec le programme utilisateur standard. Toutefois, cette communication est limitée par la stratégie d’intégrité obligatoire par défaut. Pour plus d’informations sur les considérations relatives à l’intégrité obligatoire, consultez Conception d’applications à exécuter à un niveau d’intégrité faible.

Les utilisations suivantes sont possibles pour le modèle de répartiteur d’administrateur :

  • Développement d’Assistants. Lorsqu’un Assistant matériel détermine qu’un pilote requis n’est pas installé sur l’ordinateur ou situé à l’emplacement approuvé de l’entreprise, il appelle une application avec élévation de privilèges avec la possibilité de déplacer un pilote dans le magasin d’ordinateurs.
  • Autorun.exe Setup.exe d’appel. Lorsqu’un utilisateur exécute un logiciel à partir d’un CD-ROM, Autorun.exe, qui s’exécute en tant qu’utilisateur standard, démarre Setup.exe, qui s’exécute en tant qu’administrateur, pour installer le logiciel sur l’ordinateur.

L’utilisation du modèle de répartiteur d’administrateur présente les inconvénients suivants :

  • Les transitions d’application à application peuvent prêter à confusion pour l’utilisateur. Il peut être difficile d’informer l’utilisateur de la raison pour laquelle une nouvelle application apparaît sur le moniteur.
  • Il peut être difficile de transmettre des informations d’état entre les deux applications. Par exemple, vous n’utiliseriez pas ce modèle pour transmettre des informations d’état entre un panneau de configuration utilisateur standard (CPL) et son équivalent administrateur simplement pour permettre à la même CPL d’avoir des fonctionnalités d’administration et d’utilisateur standard. La CPL utilisateur standard doit stocker son état quelque part.
  • Il peut y avoir beaucoup de code répliqué lors du fractionnement de la fonctionnalité entre deux programmes.

Développement d’applications qui nécessitent des privilèges d’administrateur

Modèle objet COM Administrateur

Modèle de service de système d’exploitation

Modèle de tâche avec élévation de privilèges