Comment exécuter un fichier exe dans PowerShell

Le système d’exploitation Windows prend en charge plusieurs outils en ligne de commande qui peuvent être très utiles pour l’automatisation.
curl
est l’un de ces outils utiles qui peuvent être utilisés pour effectuer des requêtes depuis ou vers un serveur via l’un des protocoles pris en charge tels que HTTP, HTTPS, FTP, FTPS, SMTP, etc…
Cet outil en ligne de commande prend en charge des fonctionnalités supplémentaires comme le téléchargement FTP, la prise en charge des proxy, la reprise de transfert et une bande passante limitée.
Depuis la version officielle 1804 de Windows, curl
a été ajouté à sa chaîne d’outils. Vous pouvez vérifier cela en ouvrant l’invite de commandes Windows et en exécutant la commande suivante.
curl --version
Sortie :
curl 7.55.1 (windows)
La sortie peut changer en fonction de votre installation de curl.
le curl
dans Windows PowerShell
Dans Windows PowerShell, vous devez utiliser la commande curl
légèrement différemment de l’invite de commandes Windows. Parce que la commande curl
est mappée comme un alias du cmdlet Invoke-WebRequest
. Vous pouvez vérifier cela en exécutant la commande suivante dans une fenêtre PowerShell.
Get-Alias -Name curl
Sortie :
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Toutes ces commandes seront résolues dans le processus d’exécution des commandes de PowerShell. En général, les alias ont la priorité la plus élevée. Par conséquent, vous devez utiliser directement l’exécutable curl.exe
dans PowerShell au lieu de curl
. Vous pouvez utiliser le cmdlet Get-Command
pour voir comment ces deux commandes se résolvent à l’exécution.
Get-Command curl
Sortie :
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Get-Command curl.exe
Sortie :
CommandType Name Version Source
----------- ---- ------- ------
Application curl.exe 7.55.1.0 C:\Windows\system32\curl.exe
La conclusion est que si vous avez besoin d’utiliser le curl
(comme dans l’invite de commandes Windows) dans PowerShell, alors vous devez appeler directement l’exécutable curl (curl.exe
). Sinon, vous devriez vous en tenir à l’alias curl
de PowerShell, qui se résout vers le cmdlet Invoke-WebRequest
en arrière-plan.
la syntaxe curl
dans PowerShell
curl.exe [options] <url>
Vous pouvez exécuter la commande suivante pour obtenir plus d’informations sur la commande curl
et ses options telles que -a
, -C
, etc.
curl.exe --help
Sortie :
Usage: curl [options...] <url>
-a, --append Append to target file when uploading
.
.
.
-C, --continue-at <offset> Resumed transfer offest
Scénarios d’exemple
Afficher la page web HTML renvoyée en tant que réponse.
curl.exe https://www.google.com
Afficher la réponse, l’en-tête de requête et l’en-tête de réponse.
curl.exe -v https://www.google.com
Afficher les informations d’en-tête.
curl.exe -I https://www.google.com
Sauvegarder les informations d’en-tête dans un fichier appelé file1.txt
.
curl.exe -I https://www.google.com -o file1.txt
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.