Comment savoir si un processus est en cours d'exécution avec des autorisations d'administrateur?

44

J'utilise Windows Vista, avec UAC activé. J'ai installé une application et l'installateur a besoin des privilèges d'administrateur. Le programme d'installation a ensuite démarré l'application. J'aimerais savoir si l'application continue de fonctionner avec les privilèges d'administrateur.

J'ai essayé le Gestionnaire des tâches Windows et l'Explorateur de processus, et aucun ne semble afficher cette information.

Tim
la source
Pour le système d'exploitation mis à jour, veuillez consulter cette question . L'onglet Détails du gestionnaire de tâches comporte une colonne facultative Elevée.
Hans Vonn le

Réponses:

43

Dans Process Explorer , double-cliquez sur le processus pour ouvrir ses propriétés. Allez dans l' onglet Sécurité . Dans la liste des groupes, recherchez BUILTIN \ Administrators et examinez-le dans la colonne Flags .

Refuser = Pas élevé (pas admin)

texte alternatif

Propriétaire = Elevé (est admin)

texte alternatif

Ryan Bolger
la source
4
Sur mon système Windows 7, je devais exécuter Process Explorer avec des autorisations élevées afin de pouvoir afficher certains détails (tels que les autorisations de sécurité) des processus exécutés avec des autorisations d'administrateur. Lors de l'exécution de Process Explorer en tant qu'utilisateur normal, le contenu de l'onglet Sécurité était vide.
Anthony G - justice pour Monica le
Rien de tel n'existe du tout dans Win10; utilisez sysinternals (@Tim), ajoutez "niveau d'intégrité" aux colonnes des processus.
user15507
1
Win8 et les versions ultérieures ont toujours eu une colonne facultative dans le Gestionnaire des tâches nommée Elevated qui affiche oui ou non. Ceci est dans l'onglet Détails, bien sûr.
Adam Caviness
39

Dans Process Explorer, vous pouvez modifier les colonnes affichées et ajouter la colonne "Niveau d'intégrité" à partir de l'onglet "Image de processus":

entrez la description de l'image ici

C'est apparemment le terme technique pour ce qui est changé lorsque vous exécutez un processus avec des privilèges d'administrateur. Si vous exécutez Process Explorer en tant qu'administrateur, les processus ordinaires sont définis comme un niveau d'intégrité "moyen" et les processus élevés, par "haut".

Notez que si vous exécutez l'explorateur de processus en tant qu'utilisateur ordinaire, les processus dotés des privilèges d'administrateur seront affichés avec une entrée vide dans la colonne du niveau d'intégrité.

Tim
la source
De même, lors de l'exécution d'un programme spécifique en tant qu'administrateur et de l'explorateur de processus en tant qu'utilisateur normal, l'explorateur de processus n'affiche pas la véritable icône du processus, mais une icône vierge.
Nikos
+ 1 pour votre réponse
BattleTested
3

Mise à jour avec les systèmes d'exploitation: Resource Monitor, qui, à mon avis, est inclus dans Windows 7 et Windows 10 (pas sûr de Vista) a une colonne optionnelle 'Elevée' dans la liste des processus de l'onglet CPU, qui semble être assez précise.

stackuser83
la source
0

Si vous préférez utiliser des outils de ligne de commande, l' utilitaire Accesschk de la suite MS Sysinternals peut être utilisé pour vérifier si un processus est en cours d'exécution avec des autorisations d'administrateur.

Les drapeaux suivants sont utiles à cette fin:

  • L' -poption (processus) accepte le nom ou le PID d'un processus en cours d'exécution.

  • L' -voption (verbeuse) imprime le niveau d'intégrité de Windows.

  • L' -qoption (silencieuse) empêche les informations de version d'être imprimées.

  • L' -foption (complète) peut également être utilisée pour fournir encore plus d'informations sur le ou les processus (détails des jetons de sécurité des utilisateurs, des groupes et des privilèges), mais ce niveau de détails supplémentaires n'est pas nécessaire pour vérifier les privilèges élevés.

Exemple

Liste les privilèges de tous les cmdprocessus en cours d'exécution :

> accesschk.exe -vqp cmd

[5576] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
[8224] cmd.exe
  Medium Mandatory Level [No-Write-Up, No-Read-Up]
  RW ICS\Anthony
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS
Error opening [6636] cmd.exe:
Access is denied.

Ici, nous pouvons voir que trois cmdprocessus ont été démarrés. Les deux premiers ont un niveau d'intégrité obligatoire moyen et sont exécutés sous mon compte de domaine, ce qui indique que ces processus ont été démarrés sans privilèges d'administrateur.

Cependant, le dernier processus (PID 6636) a été démarré avec des autorisations élevées afin que ma commande non privilégiée ne puisse pas lire les informations relatives à ce processus. L'exécution avec des autorisations élevées accesschket en spécifiant explicitement son PID imprime les informations suivantes:

> accesschk.exe -vqp 6636

[6636] cmd.exe
  High Mandatory Level [No-Write-Up, No-Read-Up]
  RW BUILTIN\Administrators
        PROCESS_ALL_ACCESS
  RW NT AUTHORITY\SYSTEM
        PROCESS_ALL_ACCESS

Nous pouvons maintenant constater que le niveau d'intégrité est élevé et que ce processus s'exécute sous le Administratorsgroupe de sécurité intégré.

Anthony G - justice pour Monica
la source