/
/

Comment identifier les processus exécutés en tant qu’administrateur sous Windows 10

par Team Ninja
How to Identify Administrator-Run Processes in Windows 10 blog banner image

Sous Windows, les processus peuvent s’exécuter avec les permissions d’un utilisateur standard ou avec des droits d’administrateur élevés. Cette distinction influence directement le comportement du système, les tâches d’administration et les opérations de dépannage. Les administrateurs système, les utilisateurs avancés et les techniciens du support doivent donc savoir faire la différence entre les deux, afin de vérifier l’intégrité des processus, la sécurité et le contexte d’élévation de l’utilisateur. Tout commence par apprendre à identifier les processus exécutés en tant qu’administrateur sous Windows 10, pour déterminer s’ils sont élevés ou s’ils disposent de privilèges d’administrateur. Poursuivez votre lecture pour en savoir plus.

Comment vérifier si un processus est élevé sous Windows ?

Selon votre niveau technique, votre environnement et votre objectif, il existe deux façons de vérifier si un processus s’exécute avec des privilèges d’administrateur sous Windows 10.

Méthode 1 : le Gestionnaire des tâches

Cette méthode permet une vérification visuelle rapide, accessible aux utilisateurs finaux et au personnel du support, sans script ni ligne de commande. En revanche, elle n’affiche aucune information détaillée. De plus, sans droits d’administrateur, il est possible que vous ne puissiez pas consulter l’élévation de certains processus.

Remarque : cette méthode fonctionne uniquement sous Windows 10 version 1809 et ultérieure.

  1. Ouvrez le Gestionnaire des tâches. Appuyez sur Ctrl + Maj + Échap ou faites un clic droit sur la barre des tâches et sélectionnez Gestionnaire des tâches dans le menu.
  2. Cliquez sur l’onglet Détails.
  3. Faites un clic droit sur l’un des en-têtes de colonne, puis cliquez sur Sélectionner des colonnes.
  4. Parcourez la liste, cochez l’option Élevé, puis cliquez sur OK.

Une nouvelle colonne nommée Élevé doit apparaître. La valeur Oui indique qu’un processus s’exécute en tant qu’administrateur, tandis que la valeur Non signifie qu’il fonctionne avec les privilèges d’un utilisateur standard.

Méthode 2 : PowerShell

La méthode PowerShell est très souple et se prête aux scripts, donc à l’automatisation ou à l’audit. Elle est cependant plus complexe et demande de connaître PowerShell pour être exécutée correctement.

Remarque : des privilèges d’administrateur sont nécessaires.

  1. Ouvrez une session PowerShell élevée. Utilisez le menu Rechercher de la barre des tâches pour trouver PowerShell, faites un clic droit dessus et sélectionnez Exécuter en tant qu’administrateur. Si le contrôle de compte d’utilisateur (UAC) vous le demande, cliquez sur Oui.
  2. Copiez et collez les commandes ci-dessous, puis appuyez sur Entrée :
Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
public static class ProcessElevationChecker {
[DllImport("kernel32.dll", SetLastError = true)]
public static extern IntPtr OpenProcess(int processAccess, bool bInheritHandle, int processId);
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool OpenProcessToken(IntPtr ProcessHandle, int DesiredAccess, out IntPtr TokenHandle);
[DllImport("advapi32.dll", SetLastError = true)]
public static extern bool GetTokenInformation(IntPtr TokenHandle, int TokenInformationClass, out int TokenInformation, int TokenInformationLength, out int ReturnLength);
[DllImport("kernel32.dll", SetLastError = true)]
public static extern bool CloseHandle(IntPtr hObject);
const int PROCESS_QUERY_LIMITED_INFORMATION = 0x1000;
const int TOKEN_QUERY = 0x0008;
const int TokenElevation = 20;
public static bool IsProcessElevated(int processId) {
IntPtr hProcess = OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, false, processId);
if (hProcess == IntPtr.Zero) return false;
IntPtr hToken;
if (!OpenProcessToken(hProcess, TOKEN_QUERY, out hToken)) {
CloseHandle(hProcess);
return false;
}
int elevation;
int size;
bool success = GetTokenInformation(hToken, TokenElevation, out elevation, sizeof(int), out size);
CloseHandle(hToken);
CloseHandle(hProcess);
return success && elevation != 0;
}
}
"@
$processList = Get-Process | Sort-Object ProcessName
$results = @()
foreach ($proc in $processList) {
try {
$isElevated = [ProcessElevationChecker]::IsProcessElevated($proc.Id)
} catch {
$isElevated = $null
}
$results += [PSCustomObject]@{
Name = $proc.ProcessName
PID = $proc.Id
Elevated = $isElevated
}
}
$results | Format-Table -AutoSize

Vous devriez voir la liste de tous les processus en cours d’exécution, avec leur PID (identifiant de processus) et leur état d’élévation actuel. Dans la colonne Elevated, la valeur True signifie que le processus s’exécute en tant qu’administrateur, et False qu’il fonctionne avec les permissions d’un utilisateur standard.

Remarque : si la session PowerShell n’est pas élevée, ces commandes renverront la valeur False pour chaque processus.

Commandes PowerShell de la méthode 2
Résultats PowerShell de la méthode 2

Qu’est-ce qu’un processus élevé sous Windows 10 ?

Sous Windows, un processus élevé est une application ou une tâche qui s’exécute avec des droits d’administrateur au lieu des permissions par défaut au niveau utilisateur. Ces processus fonctionnent à un niveau d’intégrité élevé et peuvent donc contourner de nombreuses restrictions imposées aux applications standard. Ce statut élevé leur donne l’autorité nécessaire pour apporter des modifications à l’échelle du système : installer des logiciels, modifier des fichiers protégés, accéder aux données d’autres utilisateurs ou encore modifier le registre.

L’élévation est gérée par le contrôle de compte d’utilisateur (UAC), une fonction de Windows qui empêche les modifications non autorisées du système d’exploitation. L’UAC demande l’approbation de l’utilisateur lorsque celui-ci tente de lancer un processus nécessitant des privilèges supérieurs. Dès que l’utilisateur donne son accord, ou si une politique l’autorise automatiquement, le privilège est accordé et le processus démarre dans un contexte d’intégrité supérieur.

Pourquoi vérifier l’élévation ?

Vérifier l’élévation des processus sous Windows est essentiel pour éviter les modifications non autorisées ou les dommages au système d’exploitation. Cela permet notamment de :

  • Résoudre les problèmes liés à l’UAC ou aux permissions : si des outils d’administration, des programmes d’installation ou des scripts système qui exigent des permissions élevées s’exécutent sans élévation, ils risquent d’échouer sans le moindre message.
  • Garantir les contextes de sécurité dans les environnements multi-utilisateurs : sur les machines partagées ou les systèmes distants, les processus élevés peuvent accéder à des zones sensibles du système d’exploitation et aux données d’autres utilisateurs. Une élévation involontaire ou non autorisée constitue donc un risque de sécurité.
  • Valider les scripts d’automatisation ou le comportement des logiciels : les scripts et outils automatisés exécutés sans l’élévation requise peuvent échouer ou ne s’exécuter que partiellement, ce qui entraîne des erreurs de déploiement et des erreurs de configuration du système.

Cas d’usage

Il est indispensable de savoir quand et pourquoi vérifier si un processus s’exécute en tant qu’administrateur, afin de garantir la stabilité, la sécurité et un comportement correct, en particulier dans les environnements gérés.

  • Validation de scripts : lors du développement de scripts d’administration, l’élévation est souvent nécessaire pour exécuter certaines actions. Un script qui s’exécute sans privilèges suffisants peut échouer, déclencher des erreurs « Accès refusé » ou rendre le comportement du système incohérent.
  • Audit de sécurité : dans les environnements sensibles, les processus qui s’exécutent avec des privilèges d’administrateur peuvent facilement être exploités ou détournés. Vérifier l’élévation aide à détecter les activités non autorisées ou suspectes.
  • Formation des utilisateurs : les utilisateurs non techniques ne comprennent pas toujours l’importance de lancer une application en tant qu’administrateur, ce qui peut empêcher certaines fonctions de s’exécuter correctement. Le support informatique peut les aider à vérifier l’élévation et à relancer leurs outils pour que ces fonctions soient opérationnelles.

Dépannage

Des problèmes peuvent survenir lors de la vérification des processus élevés sous Windows 10, en raison des paramètres système, de restrictions de permissions ou d’une incompatibilité de version.

Problème : la colonne « Élevé » est absente du Gestionnaire des tâches

Comme nous l’avons indiqué, la méthode du Gestionnaire des tâches n’est disponible qu’à partir de Windows 10 version 1809. Si vous utilisez une version antérieure, envisagez une mise à niveau ou passez par PowerShell ou l’invite de commandes pour vérifier l’élévation manuellement.

Problème : PowerShell renvoie « Accès refusé »

Lorsque PowerShell tente d’accéder aux informations des processus système ou de ceux d’autres utilisateurs, des privilèges élevés sont requis. Veillez à exécuter PowerShell en tant qu’administrateur avant de lancer des scripts qui inspectent l’élévation des processus.

Problème : l’invite UAC n’apparaît pas

Si l’invite UAC n’apparaît pas, l’UAC est peut-être désactivé, ou des politiques système bloquent les invites d’élévation. Vérifiez les paramètres de l’UAC dans Panneau de configuration > Comptes d’utilisateurs > Modifier les paramètres de contrôle de compte d’utilisateur et assurez-vous que le curseur situé à gauche est réglé sur « Toujours m’avertir ». Vérifiez également que la stratégie de groupe n’a pas désactivé l’UAC. Suivez ce chemin dans l’Éditeur de stratégie de groupe :

Configuration ordinateur > Paramètres Windows > Paramètres de sécurité > Stratégies locales > Options de sécurité

Assurez-vous que des politiques telles que « Contrôle de compte d’utilisateur : exécuter tous les administrateurs en mode d’approbation Administrateur » sont activées.

Vérifier les processus qui s’exécutent avec des droits d’administrateur élevés

Savoir si un processus s’exécute ou non avec des privilèges d’administrateur est une tâche importante pour les administrateurs système, les utilisateurs avancés et les professionnels du support qui gèrent des environnements Windows. Les processus élevés ont accès aux paramètres et aux configurations à l’échelle du système : vérifier leur élévation contribue donc à la sécurité, facilite le dépannage des scripts en échec et permet d’accompagner les utilisateurs dans leurs tâches d’administration. Le Gestionnaire des tâches et PowerShell offrent tous deux des moyens de contrôler l’état d’élévation des processus. Choisissez toujours la méthode qui correspond le mieux à vos connaissances informatiques et à vos objectifs.

FAQs

Sur un appareil équipé de Windows 10 version 1809 ou ultérieure, l’activation de la colonne « Élevé » dans le Gestionnaire des tâches est un moyen fiable de repérer les processus qui s’exécutent avec des droits d’administrateur. En revanche, cette méthode ne s’applique pas aux versions antérieures : vous devez alors passer par PowerShell ou l’invite de commandes.

Non, les invites UAC sont essentiellement des demandes d’élévation. Un processus n’est élevé que si vous approuvez l’invite ou s’il est lancé depuis une session déjà élevée. Si vous refusez l’invite, le processus ne s’exécutera pas avec un accès administrateur.

Oui. Vous pouvez intégrer un fichier manifeste dans un exécutable ou utiliser Start-Process avec le paramètre -Verb Runas pour les scripts PowerShell. L’élévation peut ainsi être demandée ou imposée de manière cohérente, ce qui est particulièrement utile dans les outils de déploiement, les tâches d’automatisation et les applications sécurisées.

You might also like

Prêt à simplifier les aspects les plus complexes de l'informatique et de la sécurité ?