L’exécution d’un fichier exécutable (.exe) consiste simplement à l’ouvrir dans des cas généraux comme l’installation ou l’ouverture d’une application. Mais, si vous êtes un administrateur réseau/système et que vous souhaitez créer un script pour automatiser diverses tâches, vous atteindrez probablement un point où vous devrez exécuter un fichier exécutable.

Eh bien, pour les utilisateurs de Windows, vous ont déjà un outil intégré appelé Windows PowerShell pour faire exactement cela. Grâce à lui, vous pouvez exécuter des commandes puissantes et même créer des applications avec des scripts efficaces.

Dans cet article, nous avons compilé une liste des différentes façons d’utiliser l’outil PowerShell pour exécuter un fichier.exe.

Comment exécuter Exe dans Powershell ?

Lors de l’exécution des commandes dans les méthodes ci-dessous, remplacez les éléments tels que le nom de fichier ou le chemin de manière appropriée. En outre, excluez les crochets angulaires et incluez des espaces tels quels lors de l’écriture des commandes.

Exécuter directement sans paramètres à l’aide de l’opérateur &

Avec PowerShell, vous pouvez exécuter directement un fichier exécutable avec l’opérateur Opérateur”&”(également appelé opérateur d’appel). Vous pouvez accéder à l’emplacement du fichier ou fournir le chemin d’accès complet dans la commande. Ensuite, vous pouvez exécuter la commande.

Par exemple :

Appuyez sur Windows + R, tapez powershell et appuyez sur Ctrl + Maj + Entrée pour lancer PowerShell en tant qu’administrateur.
Si votre fichier est déjà dans le même répertoire, tapez &’.\.exe’et appuyez sur Entrée. De plus, vous pouvez utiliser la commande cd pour changer de répertoire et la commande Get-ChildItem pour afficher la liste de tous les fichiers/répertoires qu’il contient.
Ou, si vous avez le chemin complet du fichier, tapez &’\‘et appuyez sur Entrée.

Remarque : L’utilisation de guillemets n’est obligatoire que si votre nom de fichier contient un espace. Si ce n’est pas le cas, vous pouvez exécuter la commande ci-dessus sans les guillemets.

Si vous vous demandez ce qui se passe ici, eh bien, en tapant le symbole esperluette (&), PowerShell comprend qu’il doit exécuter le programme. Sinon, PowerShell traitera la commande comme une chaîne et n’invoquera pas le fichier.exe.

Utilisation de Start-Process

Start-Process est une applet de commande plus avancée et plus puissante dans laquelle vous peut spécifier plusieurs paramètres. Ainsi, il peut exécuter plusieurs fichiers exécutables à la fois.

Syntaxe :

Start-Process-FilePath”

Ici, nous utilisons le paramètre Path pour spécifier le chemin du fichier exécutable. Outre le paramètre ci-dessus, certains des paramètres couramment utilisés avec la syntaxe sont répertoriés ci-dessous.

Start-Process-FilePath”.exe”-Wait 

Cette commande indique à PowerShell d’attendre que l’ensemble du processus se termine, puis prend d’autres entrées, le cas échéant.

Start-Process-FilePath”powershell”-Verb RunAs

La commande ci-dessus lance PowerShell en tant qu’administrateur. Au lieu du verbe RunAs, vous pouvez également utiliser les verbes Open et RunAsUser pour les fichiers.exe.

Utilisation d’Invoke-Expression

Bien que cette méthode puisse exécuter le fichier.exe dans PowerShell, Microsoft lui-même ne recommande pas de l’utiliser. En effet, de nombreuses choses peuvent mal tourner lors de son utilisation, telles que la vulnérabilité aux attaques par injection de code et la difficulté à maintenir le code.

Par conséquent, ne l’utilisez que si vous êtes sûr de ce qui va se passer et soyez prudent, en particulier dans les cas où un utilisateur peut saisir une commande non sécurisée.

Syntaxe :
Invoke-Expression-Command”.\filepath\.exe” 

Dans l’image ci-dessus , nous sommes déjà dans le répertoire D qui contient le fichier GoogleDriveSetup.exe que nous voulons exécuter. Nous écrivons donc la commande suivante.

Invoke-expression-command”.\ExeFolder\GoogleDriveSetup.exe”

D’un autre côté, si nous étions dans un répertoire différent et que nous voulions exécuter le fichier ci-dessus, nous n’aurions pas besoin d’ajouter.\ devant le fichier. Le.\ signifie que nous sommes dans le répertoire courant du fichier désiré. Par conséquent, la commande devient :

Invoke-expression-command”D:\a.exe”

Categories: IT Info