Comment refuser l'élévation à un programme?

12

Windows a-t-il une liste "refuser automatiquement la demande d'élévation" ?

Si un utilisateur est un "utilisateur standard" , il est possible que Windows refuse automatiquement toutes les demandes d'élévation en modifiant le ConsentPromptBehaviorUserparamètre de stratégie de groupe sur Refuser automatiquement les demandes d'élévation :

  • Prompt for credentials on the secure desktop.( Par défaut ) Lorsqu'une opération nécessite une élévation de privilèges, l'utilisateur est invité sur le bureau sécurisé à entrer un nom d'utilisateur et un mot de passe différents. Si l'utilisateur entre des informations d'identification valides, l'opération se poursuit avec le privilège applicable
  • Prompt for credentialsLorsqu'une opération nécessite une élévation de privilèges, l'utilisateur est invité à entrer un nom d'utilisateur et un mot de passe administratifs. Si l'utilisateur entre des informations d'identification valides, l'opération se poursuit avec le privilège applicable
  • Automatically deny elevation requestsLorsqu'une opération nécessite une élévation de privilèges, un message d'erreur configurable d'accès refusé s'affiche. Une entreprise qui exécute des bureaux en tant qu'utilisateur standard peut choisir ce paramètre pour réduire les appels au service d'assistance

Cela est utile dans une situation où un programme peut inciter à élever, mais cela nécessiterait que le gars du service d'assistance écrase trois bâtiments (pour entrer ses informations d'identification par- dessus l'épaule ). Une fois sur place, ils découvrent que l'utilisateur ne doit pas exécuter ce programme.

Nous voulons que l'application s'exécute en tant qu'utilisateur standard (obtenant éventuellement des erreurs d' accès refusé ), car c'est la bonne réponse.

Mais ce paramètre s'applique à tous les programmes qui élèvent. est-ce possible de

  • marquer un programme, ou
  • l'ajouter à une liste

afin qu'il soit automatiquement refusé les demandes d'élévation et s'exécute en tant qu'utilisateur standard?

Le problème se produit lorsqu'un programme a été par erreur:

  • marqué comme requestedExecutionLevelde requireAdministratorson manifeste incorporé ou externe
  • a fait cocher l'option de compatibilité "Exécuter ce programme a un administrateur"
  • est détecté en tant que programme d'installation (par exemple, est nommé installou setup) via l' EnableInstallerDetectionheuristique

Remarque: En supposant que l'application n'avait pas de manifeste, on pourrait suggérer d'ajouter un manifeste indiquant requestedExecutionLevel: asInvoker. Cette solution désactiverait également la virtualisation des fichiers et du registre pour l'application.

Voir également

Ian Boyd
la source

Réponses:

4

Une solution possible consiste à utiliser deux politiques de concert:

  1. Configurez le paramètre de stratégie de groupe ConsentPromptBehaviorUser déjà mentionné pour refuser automatiquement les demandes d'élévation . Comme indiqué dans la question, cela affectera tous les programmes en cours d'exécution.

  2. Activez ensuite le contrôle de compte d'utilisateur: élevez uniquement les exécutables signés et validés . (De Microsoft) Ce paramètre applique les vérifications de signature de l'infrastructure à clé publique (PKI) pour toutes les applications interactives qui demandent une élévation de privilèges. Les administrateurs d'entreprise peuvent contrôler les applications autorisées à s'exécuter en ajoutant des certificats au magasin de certificats Trusted Publishers sur les ordinateurs locaux.

  3. Signez tous les programmes approuvés avec la clé de votre organisation et publiez-les dans le magasin de certificats des éditeurs approuvés sur tous les ordinateurs de votre organisation. Plus d'informations.

Jeremy W
la source
Accepté car il n'y a presque certainement pas de réponse; et ces solutions de contournement seraient les meilleures que l'on puisse obtenir.
Ian Boyd