Como Escrever e Executar um Arquivo de Script do PowerShell no Windows 11

O PowerShell é uma ferramenta de linha de comando desenvolvida pela Microsoft para automatizar tarefas administrativas comuns. Um script é uma coleção de comandos do PowerShell, armazenados em um arquivo de texto com a extensão *.ps1. Ao executar um script do PowerShell, o interpretador lê o arquivo e executa os comandos sequencialmente.

Você pode criar um script do PowerShell usando qualquer editor de texto (até mesmo o Bloco de Notas). No entanto, é recomendável usar um editor de scripts do PowerShell. O editor padrão incluído no Windows é o Ambiente de Script do PowerShell Integrado (PowerShell ISE). Ele inclui funções úteis como colorização de código, conclusão de código, verificação de sintaxe, depuração, salvamento automático, proteção contra falhas, etc.

Advertisement

A Microsoft possui um editor de código gratuito de plataforma cruzada chamado Visual Studio Code (VS Code), que está disponível para Windows, Linux e macOS. Ele suporta uma variedade de linguagens de programação através de extensões que você pode instalar, incluindo o PowerShell.

Uma vantagem do Visual Studio Code é que ele suporta as versões mais recentes do PowerShell, enquanto o PowerShell ISE suporta apenas até a versão 5.1 do PowerShell.

Como executar um script do PowerShell (guia rápido)

Aqui está um resumo rápido de como executar um script do PowerShell. O método a seguir funciona para scripts do PowerShell que não possuem parâmetros obrigatórios e não retornam saída para o prompt de comando.

  1. Clique com o botão direito no script do PowerShell no Explorador de Arquivos.
  2. Selecione Executar com o PowerShell no menu de contexto.
  3. O script será executado com uma política de execução de Bypass. A política de execução para o computador ou usuário não será alterada.

Para mais detalhes sobre escrever e executar scripts do PowerShell, continue lendo!

Publicidade

Como criar scripts do PowerShell

Há algumas maneiras de criar scripts do PowerShell:

  • Com o editor de código de plataforma cruzada Visual Studio Code
  • Com o PowerShell ISE
  • Ou qualquer outro editor de texto, ou seja, NotePad

Criando scripts do PowerShell com o Visual Studio Code

O Visual Studio Code não está disponível por padrão no Windows, portanto, ele precisa ser baixado do site dedicado do Visual Studio. No nosso caso, precisamos baixar a distribuição do Windows, que está disponível para sistemas de 64 bits, 32 bits e ARM.

Aqui estão os diferentes passos que você precisa seguir após instalar o aplicativo. Primeiro, você precisará abrir o Visual Studio Code no menu Iniciar.

Opening Visual Studio Code from the Windows 11 Start Menu

Instale a extensão do PowerShell

Abra o menu de extensões clicando no ícone de extensão mostrado na figura abaixo ou use o atalho de teclado Ctrl + Shift + X.

Publicidade

Open the extensions menu from the left sidebar

Digite powershell na caixa de pesquisa, selecione a opção mais baixada conforme mostrado abaixo, garantindo que você baixe a extensão fornecida pela Microsoft. Em seguida, clique em Instalar.

Find the PowerShell extension

Quando a instalação estiver concluída, você não verá nenhuma confirmação. No entanto, você verá que o botão Instalar foi substituído pelas opções Desabilitar e Desinstalar.

Disable and Uninstall options appear after installing the extension

Como criar um script do PowerShell com o Visual Studio Code

Para criar um novo script do PowerShell, vá para Arquivo > Novo arquivo, ou use o atalho de teclado Ctrl + N.

Creating a new PowerShell script

Para especificar que o novo arquivo é um script do PowerShell, clique em Texto Simples no canto inferior esquerdo, ou Selecionar um Idioma no painel de script. Qualquer uma das opções irá levá-lo para a caixa Selecionar um Modo de Idioma. Digite powershell e então selecione PowerShell.

Specify that the new file is a PowerShell script

Isso vai acionar a Extensão do PowerShell, e você verá uma mudança no comportamento e na funcionalidade. Primeiro, você notará que o ícone ao lado do Nome do Arquivo mudará para PowerShell. Além disso, você perceberá que o Console do PowerShell iniciará, e é lá onde você poderá executar comandos e scripts do PowerShell.

Starting the PowerShell Console

O mesmo resultado pode ser alcançado salvando o arquivo com a extensão *.ps1.

Digite os seguintes comandos no painel de script e você apreciará benefícios como coloração, conclusão automática de comandos e dicas de sintaxe em ação:

Write-Host "This is a Visual Studio Code script"
Write-Host "Writing PowerShell Scripts is fun!"
How to type commands in the script pane

Nota: A terceira linha é apenas para fins de demonstração, para mostrar a opção de conclusão de comando.

Para salvar o arquivo, você pode usar o menu Arquivo: Arquivo > Salvar. Você também pode usar o atalho de teclado Ctrl + S.

Em seguida, escolha uma localização de fácil acesso, forneça o nome do arquivo, certifique-se de especificar *.ps1 como a extensão do arquivo, e clique em Salvar. Neste exemplo, estou armazenando o arquivo em C:\TEMP\MeuScriptVSCode.ps1.

Save your file as a .ps1

A execução de scripts no VS Code será abordada posteriormente no artigo.

Criando scripts com o Windows PowerShell ISE

Para iniciar o PowerShell ISE, clique no botão Iniciar (ou no botão Pesquisar) e comece a digitar PowerShell ISE. Você verá o aplicativo nos resultados da pesquisa com diferentes opções de abertura. É sempre aconselhável usar Executar como Administrador para garantir que todos os comandos sejam executados corretamente e não sejam bloqueados.

You need to run the PowerShell ISE as an administrator

Então, vamos criar um script no PowerShell ISE. Escreva as seguintes linhas, e novamente, você pode notar recursos úteis como codificação de cores, autocompletar de comandos, dicas de sintaxe, etc.:

Write-Host "This is a PowerShell ISE script"
Write-Host "Writing PowerShell Scripts is fun!"

 

Creating a script in the PowerShell ISE

Nota: A terceira linha é apenas para fins de demonstração, para mostrar a opção de conclusão de comando.

Agora vamos salvar a lista de comandos como um script do PowerShell. Para fazer isso, você precisa clicar no ícone de disquete na barra de ferramentas, em seguida, clique em Arquivo > Salvar no menu Arquivo. Você também pode usar o atalho de teclado Ctrl + S.

No diálogo Salvar como, escolha uma pasta, forneça um nome de arquivo, especifique a extensão *.ps1 e clique em Salvar. Neste exemplo, estou fornecendo o seguinte nome: C:\TEMP\MyPowerShellISEScript.ps1.

Saving your PowerShell script

Criando scripts com o NotePad

Não é recomendado usar um editor de texto básico para escrever scripts do PowerShell, mas é uma possibilidade. Vamos dar um exemplo com o NotePad

  • Abra o NotePad e digite os seguintes comandos:
Write-Host "This is a Notepad script"
Write-Host "Writing PowerShell Scripts is fun!
You can write PowerShell scripts in NotePad
  • Para salvar o script, selecione Arquivo > Salvar.
  • No diálogo Salvar como, escolha uma pasta e forneça um nome de arquivo com a extensão *.ps1. Neste exemplo, estou usando: C:\TEMP\MyNotepadScript.ps1.

Como executar scripts do PowerShell

A PowerShell script (*.ps1 file) can be run in the PowerShell console, which recognizes the *.ps1 file type and runs the commands sequentially. You may open the script as a file in code editors like the PowerShell ISE and Visual Studio Code, and run the whole script in the console pane or run only a part of it.

Como habilitar scripts do PowerShell alterando a política de execução

As políticas de execução do PowerShell são um recurso de segurança que controla as condições sob as quais o PowerShell carrega arquivos de configuração e executa scripts. É importante destacar que isso não é um sistema de segurança, pois as políticas de execução podem ser facilmente contornadas. No entanto, elas ajudam a proteger os usuários de executar scripts involuntariamente.

A política de execução padrão para o Windows 11 é Restrito. Em sistemas operacionais não Windows, a política de execução padrão é Ilimitado, e não pode ser alterada.

Para visualizar a política de execução atual, use o comando do PowerShell Get-ExecutionPolicy.

Você pode alterar a política de execução no Windows usando o cmdlet Set-ExecutionPolicy:

 Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

As diferentes políticas de execução serão discutidas no próximo tópico.

Alterando a política de execução do PowerShell

No Windows, você pode definir a política de execução para o computador local, o usuário atual ou o processo do PowerShell.

Para listar todos os escopos disponíveis, use Get-ExecutionPolicy -List.

Get-ExecutionPolicy -List

A ordem é importante, então o item configurado mais alto tem precedência. Por exemplo, se você definiu uma política de execução usando uma política de grupo, ela terá precedência sobre os outros.

The highest configured item takes precedence
Policy Description
Restricted The default execution policy for Windows client OSes. It does not allow ANY scripts (*.ps1 files) to be executed. Still, you may run individual commands.
RemoteSigned The default execution policy for Windows Server. It Allows running scripts that are created locally. Scripts downloaded from untrusted locations, like the Internet, e-mail, messengers, etc. must be digitally signed by a trusted publisher. You may use the command Unblock-File to allow a script to run on the system.  
Unrestricted The default execution policy for non-Windows computers, and it cannot be changed. It allows unsigned scripts to run, but it shows a warning message and asks for confirmation if scripts are coming from an untrusted location.
AllSigned It requires all scripts running on the machine to be digitally signed by a trusted publisher, no matter if they are created locally on the machine or downloaded from the Internet.
Bypass It allows all scripts to run, like Unrestricted, but no confirmation is required.
Undefined There is no execution policy set on the specified scope. If all scopes are set as undefined, then the default execution policies are applied.
The different PowerShell execution policies

Para permitir que o PowerShell execute scripts, você precisa usar o comando Set-ExecutionPolicy -ExecutionPolicy <PolicyName>.

Set-ExecutionPolicy -ExecutionPolicy <PolicyName>

Por padrão, esse comando aplica sua política escolhida ao escopo Máquina local. Se você deseja especificar um escopo diferente, deve usar o parâmetro -Scope e fornecer o nome do escopo.

Por exemplo, o seguinte comando define a política de execução como Ilimitada para o usuário atual:

Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser

Executando um script com o PowerShell

Para abrir o console do PowerShell, clique no botão Iniciar (ou no botão de pesquisa), digite powershell e clique em Executar como Administrador.

Run the PowerShell console as an administrator

Para executar um script no console do PowerShell, você pode:

  • Usar o caminho completo para o script, como: C:\TEMP\MyNotepadScript.ps1
  • Ou usar apenas o nome do script, a partir da pasta onde o arquivo está localizado: .\MyNotepadScript.ps1

Executando um script do PowerShell no Visual Studio Code

Para executar um script no Visual Studio Code, você primeiro precisa iniciar o aplicativo e abrir o arquivo de script criado anteriormente (C:\TEMP\MyVSCodeScript.ps1).

  • Selecione Arquivo > Abrir Arquivo ou use o atalho de teclado Ctrl + O.
  • Com o script carregado no VS Code, você pode executá-lo clicando no botão Executar no canto superior direito, ou pressionando F5 no seu teclado.

O script será executado na janela de console, onde você verá a saída do script.

The script is being executed in the console pane

Outra opção seria executar apenas uma parte do script (Executar Seleção). Isso é frequentemente útil quando você está criando seu script e gostaria de confirmar que partes dele se comportam conforme o esperado.

  • Para executar uma seleção do script, destaque a parte que você gostaria de executar.
  • Clique em Executar Seleção no canto superior direito do console, ou pressione F8 no seu teclado.

Desta vez, o VS Code executa apenas as linhas de código selecionadas na janela de console.

How to run only a part of a script

Executando um script no PowerShell ISE

Executar scripts no PowerShell ISE é bastante semelhante.

  • Inicie o PowerShell ISE.
  • Abra o script da demonstração anterior (neste caso – C:\TEMP\MyPowerShellISEScript.ps1) usando Arquivo > Abrir, ou o Abrir ícone da barra de ferramentas, ou o atalho de teclado Ctrl + O.
  • Selecione o arquivo do script e clique em Abrir.

Para executar todo o script, use o botão Executar na barra de ferramentas ou pressione F5 no seu teclado. Isso executará o arquivo de script na janela de console, retornando o resultado.

Running a script in the PowerShell ISE

Se você precisar executar apenas parte do script, destaque a seção e selecione Executar Seleção na barra de ferramentas, ou pressione F8 no seu teclado. Novamente, o PowerShell ISE executará apenas as linhas de código selecionadas.

You can also execute only part of the script

Executando um script do PowerShell no Prompt de Comando

Se os arquivos *.ps1 são interpretados pelo PowerShell, o Prompt de Comando (CMD) não pode trabalhar diretamente com scripts do PowerShell. Se você deseja executar um script do PowerShell no CMD, precisará executá-lo chamando o processo do PowerShell com o parâmetro -File, como mostrado abaixo:

PowerShell -File C:\TEMP\MyNotepadScript.ps1.

Conclusão

Os scripts do PowerShell são uma ótima maneira de automatizar tarefas repetitivas. Siga a regra geral: “Se você precisa fazer algo mais de uma vez, monte um script”, e você não pode errar!

Artigo relacionado:

Source:
https://petri.com/how-to-write-and-run-a-powershell-script-file-on-windows-11/