Démarrer un processus élevé à partir de PowerShell
PowerShell est une forme avancée d'invite de commande. Il est étendu avec un vaste ensemble d'applets de commande prêtes à l'emploi et offre la possibilité d'utiliser .NET Framework/C# dans divers scénarios. Aujourd'hui, je vais vous montrer comment démarrer un processus élevé à partir de l'invite PowerShell.
Plus tôt, j'ai expliqué comment la même chose peut être fait à partir d'un fichier batch. Cependant, avec Windows 10 Creators Update, Microsoft va réduire l'accent sur l'invite de commande et promouvoir PowerShell partout. Voir ces articles pour référence :
- Windows 10 build 14986 remplace l'invite de commande par PowerShell partout
- Ajouter une invite de commande au menu Win + X dans la mise à jour de Windows 10 Creators
- Ajouter une invite de commandes au menu contextuel dans la mise à jour de Windows 10 Creators
- Supprimer la fenêtre Ouvrir PowerShell ici du menu contextuel dans Windows 10
C'est donc une bonne idée d'apprendre cette astuce utile qui peut être effectuée à partir de la console PowerShell et de gagner du temps.
Démarrer un processus élevé à partir de PowerShell
Pour cette tâche, nous utiliserons l'applet de commande Start-Process. Il prend en charge un nombre d'options, l'un d'eux est -Verb. Si vous spécifiez -Verb comme "RunAs", le processus que vous allez démarrer sera ouvert élevé.
Essayons de lancer l'application Bloc-notes élevée.
- Ouvrez PowerShell.
- Tapez ou copiez-collez la commande suivante:
Démarrer le processus "notepad.exe" -Verb RunAs
- Une invite UAC apparaîtra. Confirme-le:
- L'application Bloc-notes sera ouverte élevée.
Vous pouvez vous en assurer à l'aide du gestionnaire de tâches. Voir l'article: Comment vérifier si un processus s'exécute en tant qu'administrateur (élevé) dans Windows
Remarque: si vous appuyez sur le bouton « Non » à l'invite UAC, la console PowerShell imprimera un message d'erreur « L'opération a été annulée par l'utilisateur. ». C'est prévu.
Astuce: vous pouvez exécuter une application élevée à l'aide de PowerShell directement sans ouvrir sa console au préalable. Par exemple, vous pouvez créer un raccourci ou saisir la commande suivante dans la boîte de dialogue Exécuter :
powershell.exe -Commande "Démarrer le processus Notepad.exe -Verb RunAs"
Le résultat sera le même. La fenêtre Powershell clignotera pendant un moment, puis l'application sera ouverte surélevée.
Démarrer un processus élevé avec des arguments à partir de PowerShell
Si vous devez transmettre des arguments (également appelés commutateurs ou paramètres) à un processus que vous allez démarrer avec élévation de privilèges à partir de PowerShell, utilisez le commutateur -Argument de l'applet de commande Start-Process. L'argument spécifié ici sera transmis au fichier exécutable cible. Voici des exemples modifiés avec Notepad.exe que j'ai utilisé ci-dessus.
Pour la console PowerShell, utilisez la commande suivante :
Démarrer le processus "notepad.exe" -Argument "C:\My Stuff\my file.txt" -Verb RunAs
Mettez les chemins contenant des espaces entre guillemets. Si vous devez passer plus que plusieurs arguments, séparez-les par des virgules et utilisez ArgumentList :
Start-Process "file.exe" -ArgumentList "argument1, argument2, argument3" -Verb RunAs
Depuis PowerShell, vous pouvez utiliser la commande suivante :
powershell.exe -Commande "Démarrer le processus 'Notepad.exe' -Argument 'C:\My Stuff\my file.txt' -Verb RunAs"
Encore un autre exemple :
powershell -Commande "Start-Process powershell.exe -ArgumentList '-ExecutionPolicy Bypass -NoExit -Command \`"Checkpoint-Ordinateur -Description \"RestorePoint1\" -RestorePointType \"MODIFY_SETTINGS\"\`"' -Verb Courir comme"
Voir l'article pour plus d'informations: Créer un point de restauration dans Windows 10 avec PowerShell
Placez les chemins d'accès avec des espaces entre guillemets simples, comme indiqué ci-dessus.
C'est ça.