Potencia Shell es una de las herramientas de secuencias de comandos más potentes que ha creado Microsoft. En esta publicación, compartiremos lo que es PWSH.exey lista de importantes sintaxis PWSH. Estoy seguro de que muchos usuarios han usado Windows PowerShell, pero PWSH ahora es una herramienta de secuencias de comandos multiplataforma que funciona en Windows, macOS y Linux. Sin embargo, no es compatible con WSL, es decir, el subsistema de Windows en Linux, e intentar configurar PWSH como shell de inicio de sesión provocará que WSL sea inestable.

¿Qué es PWSH.EXE?

PWSH

Antes de comenzar, aclaremos un detalle. PWSH.EXE es el nuevo nombre de PowerShell. Desde la versión 6 se llama PowerShell Core. Anteriormente fue nombrado como powershell.exe que debe haber visto instalado en Windows (versión 5.1). No es de extrañar que cada vez que inicie PowerShell en Windows, reciba un mensaje:

«Pruebe el nuevo PowerShell multiplataforma https://aka.ms/pscore6».

Puede leer sobre la diferencia entre PowerShell y PowerShell Core.

Avance rápido hoy, PowerShell ha llegado a la versión 7, que es un cambio importante en comparación con la versión 6 y usa .NET Core 3 en lugar de .Net Framework. Si quiere probarlo, aprenda a instalar PowerShell 7.0 en Windows 10.

Sintaxis importante de PWSH

-Archivo | -F: Si tiene comandos en un archivo de script, puede usarlo como entrada. También puede presentar argumentos para los archivos cuando corresponda.

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

-Comando | -C: Use esto para ejecutar un comando o ScriptBlock. ScriptBlock es un conjunto de funciones encerradas dentro de {}

pwsh -Command {Get-WinEvent -LogName security}

o

@'
"in"

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

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

-Comandocodificado | -e | -CE: use esto cuando sea necesario usar comillas complejas o llaves.

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

-Iniciar sesión | -l: En Linux y macOS, inicia PowerShell como shell de inicio de sesión, usando /bin/sh para ejecutar perfiles de inicio de sesión como /etc/profile y ~/.profile. No es aplicable a Windows.

Deberá verificar la ruta absoluta enumerada en /etc/shells. Puedes usar el chsh utilidad para configurar el shell de su usuario actual en pwsh.

chsh -s /usr/bin/pwsh

-Archivo de configuración | -ajustes

Si desea sobrescribir la configuración global con la configuración del proyecto local, puede especificar el archivo de configuración mediante esta opción. La configuración de todo el sistema está disponible en powershell.config.json.

pwsh -SettingsFile c:myprojectpowershell.config.json

Lista completa de sintaxis de PWSH

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 | -? | /?

Si necesita más detalles, puede visitar docs.microsoft.com.

PWSH

Por Jason