Comment exécuter un programme en tant que compte SYSTEM (LocalSystem) dans Windows
De nombreux fichiers système et clés de registre Windows appartiennent au compte SYSTEM
(alias LocalSystem), qui dispose d'un niveau de privilège élevé. Si vous devez modifier une clé de Registre appartenant au compte SYSTEM
, il existe au moins deux options.
La première option qui vous vient à l'esprit est de vous approprier la clé de registre correspondante, de vous attribuer des autorisations de contrôle total. Une fois la clé de Registre ou les valeurs mises à jour, rétablissez les autorisations et la propriété sur SYSTEM
.
Il existe cependant une option plus simple . Vous pouvez exécuter le programme - par exemple, l'invite de commande ou l'éditeur de registre sous le compte SYSTEM
ou LocalSystem directement et mettre à jour les valeurs de registre.
Cet article répertorie cinq méthodes différentes à l'aide desquelles vous pouvez exécuter des programmes sous le compte SYSTEM
ou LocalSystem dans n'importe quelle version de Windows, y compris Windows 10. Vous pouvez également ajouter une option de menu contextuel Exécuter en tant que SYSTEM pour les fichiers .exe.
Avant de continuer, comprenez que les termes SYSTEM
, LocalSystem
et NT AUTHORITY\SYSTEM
sont identiques.
Comment exécuter des programmes en tant que SYSTEM (compte LocalSystem)
Pour exécuter un programme sous le compte SYSTEM
, utilisez l'un des outils suivants:
Utilisation de PsExec.exe à partir de Windows Sysinternals
Utilisez l'outil de console PsExec.exe
de Windows Sysinternals de Microsoft pour exécuter un programme dans le contexte SYSTEM. Suivez ces instructions:
- Téléchargez PsExec depuis Microsoft Sysinternals.
- Décompressez et extrayez l'outil dans un dossier permanent - par exemple,
d:\tools
- Ouvrez une fenêtre d'invite de commandes élevée ou admin.
- Pour démarrer l'Éditeur du Registre sous le compte SYSTEM, tapez la commande suivante et appuyez sur ENTRÉE:
d: \ tools \ psexec.exe -sid c: \ windows \ regedit.exe
La
CONNEXES: Correction: Erreur 577 de Windows Defender | Le service ne démarre pasPsExec
commandePsExec
ci-dessus démarre l'Éditeur du Registre sous le compteLOCALSYSTEM
afin que vous puissiez modifier les zones protégées dans le Registre.Remarque: Si vous exécutez l'invite de commandes (
cmd.exe
) sous le compteSYSTEM
, il génère une nouvelle fenêtre d'invite de commandes. Et, tout programme que vous lancez à partir de cette fenêtre d'invite de commandes s'exécuterait sous le compteSYSTEM
(LocalSystem), qui est un compte à privilèges élevés. Vous devez être prudent lorsque vous exécutez des programmes sous le compte SYSTEM afin de ne pas exécuter accidentellement un programme indésirable en tant queSYSTEM
. - Dans la fenêtre de l'Éditeur du Registre, accédez à la clé de Registre souhaitée et modifiez les valeurs souhaitées.
Par exemple, vous souhaiterez peut-être corriger le «type de démarrage» du service Planificateur de tâches ou le service Windows Update dans le Registre.
- Quittez l'Éditeur du Registre.
Utilisation de Advanced Run de Nirsoft
AdvancedRun est un outil simple pour Windows qui vous permet d'exécuter un programme avec différents paramètres que vous choisissez, notamment - priorité faible ou élevée, répertoire de démarrage, état de la fenêtre principale (minimisé / maximisé), exécutez le programme avec différents utilisateurs ou autorisations, fonctionnement paramètres de compatibilité du système et variables d'environnement. Vous pouvez également enregistrer les paramètres souhaités dans un fichier de configuration, puis exécuter automatiquement le programme à partir de la ligne de commande avec les paramètres souhaités.
En utilisant Advanced Run, vous lancez également un programme sous SYSTEM
ou un autre contexte utilisateur.
Tapez le nom du programme à exécuter et choisissez Utilisateur SYSTEM
dans la liste déroulante Exécuter en tant que, puis cliquez sur Exécuter.

Vous pouvez également créer un raccourci sur le bureau pour exécuter un programme en tant que SYSTEM. Voici la syntaxe de ligne de commande que vous utilisez:
AdvancedRun.exe / EXEFilename "C: \ Windows \ regedit.exe" / RunAs 4 / Run
/RunAs 4
demande de démarrer le programme sous le compte LocalSystem. Les données de valeur possibles pour le commutateur /RunAs
sont les suivantes:
1
- Exécuter en tant qu'utilisateur actuel (élévation)2
- Exécuter en tant qu'utilisateur actuel (sans élévation)3
- Exécuter en tant qu'administrateur (élévation forcée)4
- Exécuter en tant que SYSTEM8
- Exécuter en tant que TrustedInstaller
Cela démarre le programme sous le compte LocalSystem, que vous pouvez vérifier dans l'onglet Détails du Gestionnaire des tâches.
$config[ads_text6] not foundExécuter en tant que SYSTEM via le menu contextuel
Pour lancer un programme sous le compte SYSTEM (avec Advanced Run) à partir du menu contextuel du clic droit, créez un fichier .reg à partir du contenu suivant et exécutez le fichier.
Éditeur de registre Windows version 5.00 [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem] @ = "Exécuter en tant que SYSTÈME" [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem \ command] @ = "d: \\ tools \\ AdvancedRun.exe / EXEFilename \"% 1 \ "/ RunAs 4 / Run"
Modifiez le chemin d'accès à AdvancedRun.exe dans le fichier .reg si nécessaire.
Cela ajoute la commande Run as SYSTEM
au menu contextuel pour les fichiers .exe et ses raccourcis.

Utilisation de NirCmd.exe de NirSoft
NirCmd est un outil en ligne de commande polyvalent que nous avons couvert dans ce site auparavant.

NirCmd peut démarrer un programme élevé ainsi que le lancer sous le compte SYSTEM
.
Utilisez cette ligne de commande pour démarrer l'Éditeur du Registre élevé et sous le compte SYSTEM
:
nircmd.exe elevatecmd runassystem c: \ windows \ regedit.exe
Implémentation du menu contextuel
Créez un fichier .reg à partir du contenu suivant et exécutez le fichier.
Éditeur de registre Windows version 5.00 [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem] @ = "Exécuter en tant que SYSTEM" [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem \ command] @ = "d: \\ tools \\ nircmd.exe elevatecmd runassystem \"% 1\""

Utilisation de RunAsSystem d'Uwe Sieber
RunAsSystem (d'Uwe Sieber) est un outil de console qui lance un programme sous le compte ou le contexte SYSTEM. Il transmet également le style de fenêtre et sa priorité de processus au processus exécuté par défaut. Vous pouvez remplacer la taille de la fenêtre ainsi que la priorité du processus enfant à l'aide d'arguments de ligne de commande. Uwe Sieber est celui qui a développé le célèbre programme USB Drive Letter Manager.
Il attend la fin du processus démarré, puis retransmet son code retour (aka errorlevel). Cependant, dans un fichier batch, vous devez ajouter start /wait
.
Usage:
RunAsSystem [-min | -max | -normal | -noact | -hid] [-low | -below | -normal | -above | -high] "executable" [paramètres pour l'exécutable]
Exemples:
RunAsSystem "C: \ Windows \ notepad.exe" RunAsSystem "% windir% \ regedit.exe" RunAsSystem "% windir% \ System32 \ cmd.exe" / k dir / s "C: \ System Volume Information"
Implémentation du menu contextuel
Créez un fichier .reg à partir du contenu suivant et exécutez le fichier.
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem] @ = "Exécuter en tant que SYSTEM" [HKEY_CLASSES_ROOT \ exefile \ shell \ runassystem \ command] @ = "d: \\ tools \\ RunAsSystem.exe \"% 1 \ ""
Le fichier .reg ci-dessus ajoute une commande Exécuter en tant que système dans le menu contextuel pour les fichiers .exe. Le fichier .reg suppose que le fichier RunAsSystem.exe
est placé dans le dossier d:\tools
. Sinon, modifiez le chemin d'accès en conséquence dans le fichier .reg.
Utilisation de «NSudo» de M2Team
NSudo (GitHub) est un utilitaire portable similaire comme Advanced Run, sauf que NSudo n'est pas signé numériquement. NSudo peut lancer des programmes sous SYSTEM, Current User, Current Process ou le compte TrustedInstaller. Nous avons vu précédemment comment utiliser NSudo pour lancer des programmes en tant que TrustedInstaller.
CONNEXES: Comment exécuter des programmes en tant que TrustedInstaller pour écrire dans certaines clés de registre ou fichiers?
Sélectionnez le mode ( Système ) dans la liste déroulante, saisissez le chemin exécutable et cliquez sur Exécuter.
Facultativement, vous pouvez également ajouter un ensemble prédéfini de programmes ou de commandes dans la zone de liste déroulante Ouvrir: en modifiant le fichier nommé NSudo.json
situé dans le même dossier que l'exécutable.
Pour exécuter un programme sous le contexte SYSTEM à l'aide de la ligne de commande NSudo, utilisez cette syntaxe:
$config[ads_text6] not foundNSudo -U: S c: \ windows \ system32 \ cmd.exe
Voir ci-dessous pour la liste complète des arguments de ligne de commande pris en charge par cet utilitaire.
NSudo: prise en charge de la ligne de commande
NSudo version 6.2.1812.31 -U: [Option] Créez un processus avec l'option utilisateur spécifiée. Options disponibles: T TrustedInstaller S Système C Utilisateur actuel P Processus actuel D Processus actuel (à droite) PS: il s'agit d'un paramètre obligatoire. -P: [Option] Créez un processus avec l'option de privilège spécifiée. Options disponibles: E Activer tous les privilèges D Désactiver tous les privilèges PS: Si vous souhaitez utiliser les privilèges par défaut pour créer un processus, veuillez ne pas inclure le paramètre "-P". -M: [Option] Créez un processus avec l'option Niveau d'intégrité spécifiée. Options disponibles: S Système H Élevé M Moyen L Faible PS: Si vous souhaitez utiliser le niveau d'intégrité par défaut pour créer un processus, veuillez ne pas inclure le paramètre "-M". -Prioritaire: [Option] Créer un processus avec l'option [priorité de processus spécifiée. Options disponibles: Inactif Ci-dessousNormal Normal AboveNormal High RealTime PS: Si vous souhaitez utiliser la priorité de processus par défaut pour créer un processus, veuillez ne pas inclure le paramètre "-Priority". -ShowWindowMode: [Option] Créez un processus avec une option de mode fenêtre spécifiée. Options disponibles: Afficher Masquer Maximiser Réduire PS: Si vous souhaitez utiliser le mode fenêtre par défaut pour créer un processus, veuillez ne pas inclure le paramètre "-ShowWindowMode". -Attendez que NSudo attende la fin du processus créé avant de quitter. PS: Si vous ne voulez pas attendre, veuillez ne pas inclure le paramètre "-Wait". -CurrentDirectory: [DirectoryPath] Définissez le répertoire actuel du processus. PS: Si vous souhaitez utiliser le répertoire courant de NSudo, veuillez ne pas inclure le paramètre "-CurrentDirectory". -UseCurrentConsole Créez un processus avec la fenêtre de console actuelle. PS: Si vous souhaitez créer un processus avec la nouvelle fenêtre de console, veuillez ne pas inclure le paramètre "-UseCurrentConsole". -Version Affiche les informations de version de NSudo. -? Affichez ce contenu. -H Afficher ce contenu. -Aide Afficher ce contenu. Menu contextuel: -Installer : copiez NSudo dans le répertoire Windows et ajoutez le menu contextuel. -Désinstaller : Supprimer NSudo dans le répertoire Windows et le menu contextuel. PS: 1. Tous les arguments de la commande NSudo ne respectent pas la casse. 2. Vous pouvez utiliser "/" ou "-" remplacer "-" et utiliser "=" remplacer ":" dans les paramètres de la ligne de commande. Par exemple, "/ U: T" et "-U = T" sont équivalents. 3. Pour garantir la meilleure expérience, NSudoC ne prend pas en charge le menu contextuel. Exemple: si vous souhaitez exécuter l'invite de commandes avec TrustedInstaller, activez tous les privilèges et le niveau d'intégrité par défaut. NSudo -U: T -P: E cmd
Ajout de menu contextuel
- Exécutez NSudo avec le paramètre
-Install
. Il copie NSudo dans le répertoire Windows et ajoute le menu contextuel. - Pour supprimer le menu contextuel, exécutez NSudo avec le paramètre
-Uninstall
. Il supprime NSudo du répertoire Windows et du menu contextuel.
Choix de l'éditeur: Advanced Run for GUI (and CLI) et PsExec for CLI.