Was ist PWSH.EXE? PWSH-Syntaxliste, die Sie verwenden können

Power Shell ist eines der leistungsstärksten Skripting-Tools, die erstellt wurden Microsoft . In diesem Beitrag erklären wir, was das ist PWSH.exe und eine Liste der wichtigsten PWSH-Syntaxen(PWSH-Syntax) . Ich bin mir sicher, dass viele der Benutzer Windows PowerShell verwendet haben, aber jetzt PWSH ist ein plattformübergreifendes Scripting-Tool, das in Fenster macOS und Linux . Es wird jedoch nicht unterstützt in WSL , t . e.in Windows-Subsystem(Windows-Subsystem) ein Linux und versucht zu installieren PWSH als Login-Shell führt zu einem Unstable WSL-Arbeit(WSL) .

Was ist PWSH.EXE?

Bevor wir beginnen, lassen Sie uns ein Detail klären. PWSH.EXE ist der neue Name Power Shell . Seit Version 6 heißt es PowerShell-Kern . Früher hieß es powershell.exe die Sie wahrscheinlich installiert gesehen haben Fenster (Version 5.1). Kein Wunder, jedes Mal, wenn Sie laufen Power Shell in Fenster Sie erhalten die Meldung:

„Probieren Sie die neue plattformübergreifende PowerShell https://aka.ms/pscore6 aus.“

Sie können den Unterschied zwischen PowerShell und PowerShell Core nachlesen.

PowerShell hat heute Version 7 erreicht, was eine große Änderung gegenüber Version 6 darstellt und .NET Core 3 anstelle von .Net verwendet Rahmen . Wenn Sie es ausprobieren möchten, sehen Sie sich an, wie Sie PowerShell 7.0 unter Windows 10 installieren.

Wichtige PWSH-Syntax

-Datei | -f: Wenn Sie Befehle in einer Skriptdatei haben, können Sie diese als Eingabe verwenden. Sie können gegebenenfalls auch Dateiargumente angeben.

pwsh -File .\test.ps1 -TestParam $env:windir

-Befehl | -c : Verwenden Sie dies, um einen Befehl auszuführen oder ScriptBlock . ScriptBlock ist eine Reihe von Funktionen, die in {} eingeschlossen sind

pwsh -Command {Get-WinEvent -LogName security}

oder

@'
"in"

"hi" |
% { "$_ there" }

"out"
'@ | powershell -NoProfile -Command -

-EncodedCommand | -e | -ec : Verwenden Sie dies, wenn Sie komplexe Anführungszeichen oder geschweifte Klammern verwenden müssen.

$command = 'dir "c:\program files" '
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
pwsh -encodedcommand $encodedCommand

-Anmeldung | -l: auf Linux(Linux) und macOS startet Power Shell als Login-Shell, indem Sie /bin/sh verwenden, um Login-Profile wie /etc/profile und ~/.profile auszuführen. Dies gilt nicht für Fenster .

Sie müssen den in /etc/shells angegebenen absoluten Pfad überprüfen. Sie können das Dienstprogramm verwenden chsch um die Shell Ihres aktuellen Benutzers auf pwsh zu setzen.

chsh -s /usr/bin/pwsh

-Einstellungsdatei | -die Einstellungen

Wenn Sie die globalen Einstellungen mit den lokalen Einstellungen des Projekts überschreiben möchten, können Sie mit dieser Option eine Einstellungsdatei angeben. Systemweite Einstellungen sind in der Datei powershell.config.json verfügbar.

pwsh -SettingsFile c:\myproject\powershell.config.json

Vollständige Liste der PWSH-Syntax

pwsh[.exe]
[[-File] <filePath> [args]]
[-Command { - | <script-block> [-args <arg-array>]
| <string> [<CommandParameters>] } ]
[-ConfigurationName <string>]
[-CustomPipeName <string>]
[-EncodedCommand <Base64EncodedCommand>]
[-ExecutionPolicy <ExecutionPolicy>]
[-InputFormat {Text | XML}]
[-Interactive]
[-Login]
[-MTA]
[-NoExit]
[-NoLogo]
[-NonInteractive]
[-NoProfile]
[-OutputFormat {Text | XML}]
[-SettingsFile <SettingsFilePath>]
[-STA]
[-Version]
[-WindowStyle <style>]
[-WorkingDirectory <directoryPath>]

pwsh[.exe] -h | -Help | -? | /?

Wenn Sie weitere Informationen benötigen, können Sie docs.microsoft.com besuchen.

Power Shell ist eines der leistungsstärksten Scripting-Tools, die Microsoft entwickelt hat. In diesem Beitrag werden wir teilen, was ist PWSH.exeund Liste der wichtigsten PWSH-Syntax. Ich bin mir sicher, dass viele Benutzer Windows PowerShell verwendet haben, aber PWSH ist jetzt ein plattformübergreifendes Skripting-Tool, das unter Windows, macOS und Linux funktioniert. Es wird jedoch von WSL, dh dem Windows-Subsystem, unter Linux nicht unterstützt, und der Versuch, PWSH als Anmeldeshell festzulegen, führt zu einer instabilen WSL.

Was ist PWSH.EXE?

PWSH

Bevor wir beginnen, lassen Sie uns ein Detail klären. PWSH.EXE ist der neue Name für PowerShell. Seit Version 6 heißt es PowerShell Core. Es wurde früher so genannt powershell.exe die Sie in Windows (Version 5.1) installiert gesehen haben müssen. Kein Wunder, dass Sie jedes Mal, wenn Sie PowerShell in Windows starten, eine Meldung erhalten:

„Probieren Sie die neue plattformübergreifende PowerShell https://aka.ms/pscore6 aus.“

Sie können den Unterschied zwischen PowerShell und PowerShell Core nachlesen.

Heute im Schnelldurchlauf hat PowerShell Version 7 erreicht, was eine große Änderung im Vergleich zu Version 6 darstellt und .NET Core 3 anstelle von .Net Framework verwendet. Wenn Sie es ausprobieren möchten, erfahren Sie, wie Sie PowerShell 7.0 unter Windows 10 installieren.

Wichtige PWSH-Syntax

-Datei | -f: Wenn Sie Befehle in einer Skriptdatei haben, können Sie diese als Eingabe verwenden. Sie können gegebenenfalls auch Argumente für die Dateien angeben.

pwsh -File .\test.ps1 -TestParam $env:windir

-Befehl | -c: Verwenden Sie dies, um einen Befehl oder ScriptBlock auszuführen. ScriptBlock ist eine Reihe von Funktionen, die in {} eingeschlossen sind

pwsh -Command {Get-WinEvent -LogName security}

oder

@'
"in"

"hi" |
% { "$_ there" }

"out"
'@ | powershell -NoProfile -Command -

-EncodedCommand | -e | -ec: Verwenden Sie dies, wenn komplexe Anführungszeichen oder geschweifte Klammern verwendet werden müssen.

$command = 'dir "c:\program files" '
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
pwsh -encodedcommand $encodedCommand

-Anmeldung | -l: Startet unter Linux und macOS PowerShell als Anmelde-Shell und verwendet /bin/sh, um Anmeldeprofile wie /etc/profile und ~/.profile auszuführen. Es gilt nicht für Windows.

Sie müssen den unter /etc/shells aufgeführten absoluten Pfad überprüfen. Sie können das Dienstprogramm verwenden, um die Shell Ihres aktuellen Benutzers auf pwsh zu setzen.

chsh -s /usr/bin/pwsh

-Einstellungsdatei | -die Einstellungen

Wenn Sie die globalen Einstellungen mit lokalen Projekteinstellungen überschreiben möchten, können Sie die Einstellungsdatei mit dieser Option angeben. Die systemweiten Einstellungen sind in powershell.config.json verfügbar.

pwsh -SettingsFile c:\myproject\powershell.config.json

Vollständige Liste der PWSH-Syntax

pwsh[.exe]
[[-File] <filePath> [args]]
[-Command { - | <script-block> [-args <arg-array>]
| <string> [<CommandParameters>] } ]
[-ConfigurationName <string>]
[-CustomPipeName <string>]
[-EncodedCommand <Base64EncodedCommand>]
[-ExecutionPolicy <ExecutionPolicy>]
[-InputFormat {Text | XML}]
[-Interactive]
[-Login]
[-MTA]
[-NoExit]
[-NoLogo]
[-NonInteractive]
[-NoProfile]
[-OutputFormat {Text | XML}]
[-SettingsFile <SettingsFilePath>]
[-STA]
[-Version]
[-WindowStyle <style>]
[-WorkingDirectory <directoryPath>]

pwsh[.exe] -h | -Help | -? | /?

Wenn Sie weitere Informationen benötigen, können Sie docs.microsoft.com besuchen.