O que é PWSH.EXE? Lista de sintaxe PWSH que você pode usar

O PowerShell(PowerShell) é uma das ferramentas de script mais poderosas que a Microsoft criou. Neste post, compartilharemos o que é PWSH.exe e uma lista de sintaxes importantes do PWSH(PWSH syntax) . Tenho certeza de que muitos usuários usaram o Windows PowerShell , mas o PWSH(PWSH) agora é uma ferramenta de script de plataforma cruzada que funciona no Windows , macOS e Linux . No entanto, ele não é suportado no WSL , ou seja , no Windows Subsystem no Linux , e tentar definir o PWSH como o shell de login levará a um WSL instável .

O que é PWSH.EXE?

PWSH

Antes de começarmos, vamos esclarecer um detalhe. PWSH.EXE é o novo nome do PowerShell . Desde a versão 6 é chamado PowerShell Core . Foi anteriormente nomeado como powershell.exe , que você deve ter visto instalado no Windows (versão 5.1). Não é à toa que toda vez que você inicia o PowerShell no Windows , você recebe uma mensagem:

“Try the new cross-platform PowerShell https://aka.ms/pscore6.”

Você pode ler sobre a diferença entre o PowerShell e o PowerShell Core.(difference between PowerShell and PowerShell Core.)

Avançando hoje, o PowerShell atingiu a versão 7,(PowerShell has reached version 7) que é uma grande mudança em comparação com a versão 6 e usa o .NET Core 3 em vez do .Net Framework . Se você quiser experimentá-lo, saiba como instalar o PowerShell 7.0 no Windows 10.(how to install PowerShell 7.0 on Windows 10.)

Sintaxe importante do PWSH

-File | -f: Se você tiver comandos em um arquivo de script, poderá usá-lo como entrada. Você também pode argumentar para os arquivos quando aplicável.

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

-Command | -c : Use isso para executar um comando ou ScriptBlock . ScriptBlock é um conjunto de funções dentro de {}

pwsh -Command {Get-WinEvent -LogName security}

ou

@'
"in"

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

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

-EncodedCommand | -e | -ec : Use isso quando houver a necessidade de usar aspas complexas ou chaves.

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

-Login | -l: no Linux e no macOS, inicia o PowerShell como um shell de login, usando /bin/sh para executar perfis de login como /etc/profile e ~/.profile. Não é aplicável ao Windows .

Você terá que verificar o caminho absoluto listado em /etc/shells. Você pode usar o  utilitário chsh para definir o shell do usuário atual como pwsh.

chsh -s /usr/bin/pwsh

-SettingsFile | -definições

Se você deseja substituir as configurações globais pelas configurações do projeto local, você pode especificar o arquivo de configurações usando esta opção. As configurações de todo o sistema estão disponíveis em powershell.config.json.

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

Lista completa de sintaxe 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 | -? | /?

Se precisar de mais detalhes, visite docs.microsoft.com.



About the author

Josh tem mais de 10 anos de experiência na indústria de software e wireless, especificamente nas áreas de programação e análises do Android. Atualmente, ele é engenheiro de software sênior da Microsoft, trabalhando em vários produtos do MS Office. Josh tem um forte interesse em ajudar outras pessoas a aprender novas ferramentas de software e está sempre disposto a compartilhar suas dicas e truques com aqueles que perguntam.



Related posts