Com o PowerShell do Windows, você pode criar scripts em uma interface de linha de comando para au­to­ma­ti­zar tarefas do sistema.

O que é PowerShell script?

O PowerShell do Windows é uma interface de linha de comando com linguagem de script própria. Ela foi concebida para facilitar a gestão e a automação de sistemas ope­ra­ci­o­nais Windows e de produtos da Microsoft. Lançado em 2006, o produto vem de­sem­pe­nhando, desde então, im­por­tan­tes papéis ad­mi­nis­tra­ti­vos em ambientes Windows.

Um script do PowerShell, por sua vez, é qualquer sequência de cmdlets, funções, variáveis, condições e outras ins­tru­ções escritas na PowerShell Scripting Language, para au­to­ma­ti­zar processos e tarefas re­cor­ren­tes no sistema. Eles são ar­ma­ze­na­dos como arquivos de texto e contém a extensão .ps1. Você pode usar qualquer editor de texto ou o console* PowerShell In­te­gra­ted Scripting En­vi­ron­ment* (ISE) para criar um PowerShell script. Já para executar scripts PowerShell, você terá de abrir a interface de linha de comando própria e indicar o caminho até o arquivo desejado.

Antes de começar e in­de­pen­den­te­mente do editor que você for utilizar, revise as con­fi­gu­ra­ções da política de execução de scripts do PowerShell. Muitas vezes, a execução de scripts PowerShell vem de­sa­bi­li­tada por padrão, com o objetivo de minimizar riscos de segurança. Para habilitar a execução de scripts PowerShell, altere a atual política do sistema, inserindo o cmdlet Set-Exe­cu­ti­on­Po­licy.

Dedicated Servers
Per­for­mance through in­no­va­tion

O encontro do hardware com a nuvem: servidor dedicado com nuvem integrada e cobrança por minuto, incluindo as­sis­tente pessoal!

  • Dedicated en­ter­prise hardware
  • Con­fi­gu­ra­ble hardware equipment
  • ISO-certified data centers

Criar scripts PowerShell no Visual Studio Code

O Visual Studio Code, também chamado de VS Code, é um dos editores de código-fonte mais populares da Microsoft. Gratuito e open-source, ele foi de­sen­vol­vido es­pe­ci­al­mente para a criação de scripts e apli­ca­ções por de­sen­vol­ve­do­res. O VS Code também é capaz de fazer realce de sintaxe de códigos em PowerShell, além de suportar o In­tel­li­Sense, que preenche códigos au­to­ma­ti­ca­mente.

Passo 1: Instale o VS Code

Se você ainda não possui esse editor de código-fonte no seu com­pu­ta­dor, baixe-o no site oficial do VS Code. Opte pela versão para o sistema ope­ra­ci­o­nal Windows e inicie a ins­ta­la­ção clicando no res­pec­tivo botão.

Imagem: Página de download do Visual Studio Code
Clique no res­pec­tivo botão para fazer download do editor VS Code para Windows

Passo 2: Baixe a extensão para PowerShell

Para usar o PowerShell de forma eficiente no VS Code, você também deverá instalar a res­pec­tiva extensão oficial da Microsoft. Faça isso abrindo a interface do Visual Studio Code e clicando na seção “Ex­ten­si­ons”, no menu lateral esquerdo. Lá, realize uma busca por “PowerShell”. Al­ter­na­ti­va­mente, faça uso do atalho [Ctrl] + [Shift] + [X]. Instale a extensão clicando em “Trust Workspace & Install”.

Imagem: Extensão PowerShell da Microsoft para o Visual Studio Code
Instale a extensão oficial do PowerShell para o VS Code, para criar e editar códigos nessa linguagem com mais efi­ci­ên­cia

Passo 3: Crie o script PowerShell

Depois de realizar os passos acima, você poderá fi­nal­mente trabalhar em um PowerShell script existente ou escrever um novo script. Para criar um script, clique em “File” > “New Text File”. Armazene-o dando um nome ao arquivo e con­fi­gu­rando a extensão .ps1. Por fim, clique em “Save As”.

Observe, abaixo, um exemplo simples de código em PowerShell:

# This is a comment
$message = "Script to be executed"
Write-Host $message
powershell

Passo 4: Execute o script PowerShell

O VS Code oferece a seus usuários um terminal integrado, que pode ser utilizado para a execução direta de comandos PowerShell. Para abrir o terminal, clique em “Terminal” > “New Terminal” e selecione a linguagem “PowerShell”.

Imagem: Terminal integrado do VS Code
Faça uso do terminal do VS Code para executar um PoweShell script

Criar script PowerShell no Bloco de Notas

En­si­na­re­mos, a seguir, como criar um script PowerShell com o editor de texto Bloco de Notas (Notepad) do Windows. Por padrão, ele vem instalado em todas as versões desse sistema ope­ra­ci­o­nal, sendo uma das apli­ca­ções mais básicas e am­pla­mente uti­li­za­das da Microsoft.

Passo 1: Abra o Bloco de Notas

Clique no botão “Iniciar” (ícone do Windows), no canto inferior esquerdo da sua área de trabalho. Digite “Bloco de Notas” na barra de pesquisa e pressione a tecla [Enter]. É dessa forma que se acessa o editor de texto Notepad.

Passo 2: Crie o script PowerShell

Você pode escrever ou colar um código em PowerShell di­re­ta­mente no Bloco de Notas, como mostra a imagem:

Imagem: Captura de tela do Bloco de Notas da Microsoft contento um exemplo de script
Você também pode escrever o seu código em PowerShell no Bloco de Notas da Microsoft

Para armazenar o PowerShell script, clique em “Arquivo” > “Salvar” ou faça uso do atalho [Ctrl] + [S]. Dê um nome ao seu arquivo e defina a extensão .ps1, para salvá-lo como PowerShell. Selecione a pasta do seu com­pu­ta­dor onde o arquivo deve ficar ar­ma­ze­nado e clique no botão “Salvar”.

Criar script PowerShell no In­te­gra­ted Scripting En­vi­ron­ment (ISE)

O PowerShell In­te­gra­ted Scripting En­vi­ron­ment (ISE) é um ambiente de de­sen­vol­vi­mento integrado (IDE), de­sen­vol­vido pela Microsoft es­pe­ci­al­mente para scripts PowerShell. Ele costuma já vir instalado nas versões do Windows, para pro­por­ci­o­nar um ambiente prático e robusto, que facilita a criação, a edição, a depuração e a execução de PowerShell scripts.

Antes de fazer sua escolha quanto ao editor que utilizará, vale a pena que você saiba que o ISE foi subs­ti­tuído pelo Visual Studio Code no PowerShell 5.0 e nas versões su­pe­ri­o­res, pelo fato de o con­cor­rente conter mais recursos e oferecer maior fle­xi­bi­li­dade.

Passo 1: Abra o PowerShell ISE

Clique no botão “Iniciar”, lo­ca­li­zado no canto inferior esquerdo da sua área de trabalho. Digite “PowerShell ISE” na barra de pesquisa e opte por “Executar como ad­mi­nis­tra­dor”.

Imagem: Iniciar PowerShell ISE como administrador
Para executar scripts PowerShell, inicie o PowerShell ISE como ad­mi­nis­tra­dor

Passo 2: Crie o script PowerShell

No PowerShell ISE, você deve seguir este caminho para criar um novo script: clique em “Arquivo” > “Novo”. Al­ter­na­ti­va­mente, faça uso do atalho [Ctrl] + [N]. Escreva seu script PowerShell na janela principal do ISE, e faça uso de recursos como realce de sintaxe e pre­en­chi­mento au­to­má­tico de código. A interface de usuário é bastante prática e facilita o de­sen­vol­vi­mento de códigos em PowerShell.

Observe, abaixo, um exemplo de script simples:

# This is a comment
$message = "Hello World!"
Write-Host $message
powershell

Passo 3: Salve o script PowerShell

Clique em “Arquivo” > “Salvar” ou pressione a com­bi­na­ção de teclas [Ctrl] + [S] para armazenar o script PowerShell que você de­sen­vol­veu. Não se esqueça de salvar o documento com a extensão .ps1, referente ao PowerShell.

Executar scripts PowerShell

Você pode executar scripts PowerShell tanto no console próprio para a linguagem quanto em outros terminais. Confira como se dá o processo no ISE.

Passo 1: Abra o PowerShell

Pri­mei­ra­mente, inicie o PowerShell com direitos de ad­mi­nis­tra­dor, como já ensinado por este tutorial.

Passo 2: Altere a política de execução

O PowerShell possui quatro políticas de execução (execution policies) di­fe­ren­tes, que controlam a segurança e as per­mis­sões de execução de scripts no ambiente. Conheça as al­ter­na­ti­vas antes de habilitar a execução de scripts PowerShell mais adequada:

  • Res­tric­ted: Essa é a política de execução padrão do PowerShell. Se ela estiver ativa, a execução de scripts estará de­sa­bi­li­tada (somente comandos in­te­ra­ti­vos poderão ser exe­cu­ta­dos pelo console). A con­fi­gu­ra­ção pro­por­ci­ona o mais alto nível de segurança possível, jus­ta­mente por bloquear a execução de scripts.
  • AllSigned: Essa política de execução determina que todos os scripts sejam assinados di­gi­tal­mente para que possam ser exe­cu­ta­dos. O autor do script deve fazer uso de um cer­ti­fi­cado digital para assinar e executar cada script.
  • Re­mo­te­Sig­ned: Com essa política de execução, somente scripts oriundos da internet ou de redes precisam ser assinados. Scripts locais, ar­ma­ze­na­dos no seu com­pu­ta­dor, podem ser exe­cu­ta­dos sem as­si­na­tura. Essa con­fi­gu­ra­ção facilita a execução de scripts locais.
  • Un­res­tric­ted: Essa política de execução permite que qualquer script seja executado, sem a ne­ces­si­dade de as­si­na­tu­ras e sem res­tri­ções. De­sa­con­se­lha­mos que você utilize essa con­fi­gu­ra­ção em um ambiente de produção, uma vez que ela vem acom­pa­nhada de riscos de segurança. Faça uso da política ir­res­trita somente durante a re­a­li­za­ção de testes ou em ambientes com­pro­va­da­mente seguros.

Você pode descobrir a política de execução atu­al­mente con­fi­gu­rada no seu ambiente PowerShell com o comando Get-Exe­cu­ti­on­Po­licy. Para alterar a política de execução, digite o comando* Set-Exe­cu­ti­on­Po­licy*, seguido da política desejada.

Para habilitar a execução de scripts no PowerShell, insira o res­pec­tivo comando no terminal, como mostra o exemplo:

Set-ExecutionPolicy RemoteSigned
powershell
Imagem: PowerShell ISE com comando que leva às políticas de execução
Altere a política de execução no PowerShell ISE com os comandos cor­res­pon­den­tes

Passo 3: Confirme a execução do script (se ne­ces­sá­rio)

A depender das con­fi­gu­ra­ções de segurança do seu ambiente PowerShell, você terá de responder uma pergunta de segurança que confirma o desejo da execução do script. Digite “S” ou “A” para confirmar, ou “N” para cancelar.

Passo 4: Execute o script PowerShell

Para executar o script PowerShell, basta que você insira o caminho do arquivo no terminal:

& "C:\CAMINHO\DO\ARQUIVO\script.ps1"
powershell
Ir para o menu principal