Wie man eine exe-Datei in PowerShell ausführt

Das Windows-Betriebssystem unterstützt mehrere Befehlszeilenwerkzeuge, die in der Automatisierung sehr nützlich sein können.
curl
ist eines dieser nützlichen Werkzeuge, das verwendet werden kann, um Anforderungen von oder an einen Server über eines der unterstützten Protokolle wie HTTP, HTTPS, FTP, FTPS, SMTP usw. zu stellen…
Dieses Befehlszeilenwerkzeug unterstützt zusätzliche Funktionen wie FTP-Upload, Proxy-Unterstützung, Fortsetzung von Übertragungen und begrenzte Bandbreite.
Ab der offiziellen Windows-Version 1804 wurde curl
zu seiner Werkzeugkette hinzugefügt. Sie können dies überprüfen, indem Sie die Windows-Eingabeaufforderung öffnen und den folgenden Befehl ausführen.
curl --version
Ausgabe:
curl 7.55.1 (windows)
Die Ausgabe könnte sich je nach Ihrer curl-Installation ändern.
das curl
in Windows PowerShell
In Windows PowerShell müssen Sie den curl
-Befehl etwas anders verwenden als in der Windows-Eingabeaufforderung. Da der curl
-Befehl als Alias dem Invoke-WebRequest
-Cmdlet zugeordnet ist. Sie können dies überprüfen, indem Sie den folgenden Befehl in einem PowerShell-Fenster ausführen.
Get-Alias -Name curl
Ausgabe:
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Alle diese Befehle werden im PowerShell-Befehlsausführungsprozess aufgelöst. In der Regel haben die Aliase die höchste Priorität. Daher sollten Sie die ausführbare Datei curl.exe
direkt in PowerShell verwenden, anstatt curl
. Sie können das Cmdlet Get-Command
verwenden, um zu sehen, wie diese beiden Befehle zur Laufzeit aufgelöst werden.
Get-Command curl
Ausgabe:
CommandType Name Version Source
----------- ---- ------- ------
Alias curl -> Invoke-WebRequest
Get-Command curl.exe
Ausgabe:
CommandType Name Version Source
----------- ---- ------- ------
Application curl.exe 7.55.1.0 C:\Windows\system32\curl.exe
Die Schlussfolgerung ist, dass wenn Sie curl
(wie in der Windows-Eingabeaufforderung) in PowerShell verwenden müssen, Sie die curl-executable (curl.exe
) direkt aufrufen müssen. Andernfalls sollten Sie beim PowerShell curl
-Alias bleiben, der unter der Haube zum Cmdlet Invoke-WebRequest
aufgelöst wird.
die curl
-Syntax in PowerShell
curl.exe [options] <url>
Sie können den folgenden Befehl ausführen, um mehr Informationen über den curl
-Befehl und seine Optionen wie -a
, -C
usw. zu erhalten.
curl.exe --help
Ausgabe:
Usage: curl [options...] <url>
-a, --append Append to target file when uploading
.
.
.
-C, --continue-at <offset> Resumed transfer offest
Beispiel-Szenarien
Zeigen Sie die HTML-Webseite an, die als Antwort zurückgegeben wird.
curl.exe https://www.google.com
Zeigen Sie die Antwort, die Anfrage-Header und die Antwort-Header an.
curl.exe -v https://www.google.com
Zeigen Sie die Header-Informationen an.
curl.exe -I https://www.google.com
Speichern Sie die Header-Informationen in einer Datei namens 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.