Como Executar um Script PowerShell a Partir de um Arquivo em Lote
-
Use o parâmetro
-File
para executar um script PowerShell a partir de um arquivo em lote -
Use
RemoteSigned
como-ExecutionPolicy
para executar um script PowerShell a partir de um arquivo em lote -
Use o switch
Bypass
para executar um script PowerShell a partir de um arquivo em lote - Execute um script PowerShell a partir de um arquivo em lote abrindo o PowerShell como administrador
- Conclusão

Um script PowerShell é um arquivo de texto usando a extensão .ps1
contendo uma coleção de comandos. O PowerShell executa esses comandos em sequência.
Um arquivo em lote é um arquivo de texto usando a extensão .bat
. Ele também contém uma coleção de comandos que são executados em sequência.
Os comandos podem ser executados abrindo o arquivo .bat
. Este tutorial ensinará você a executar um script PowerShell a partir de um arquivo em lote.
Criamos um script PowerShell, myscript.ps1
, contendo o seguinte comando. O comando pause
interrompe a execução de um arquivo em lote até que você pressione a tecla Enter.
Write-Host "Your script is executed successfully."
Pause
Use o parâmetro -File
para executar um script PowerShell a partir de um arquivo em lote
Executar um script PowerShell a partir de um arquivo em lote pode ser uma técnica útil para automatizar tarefas em ambientes Windows. O método do parâmetro -File
permite a integração perfeita de scripts PowerShell em fluxos de trabalho de arquivos em lote.
O seguinte comando é usado no arquivo bat
para executar um script PowerShell.
@echo off
powershell -File script.ps1
Neste trecho de código, usamos primeiro @echo off
para suprimir a exibição dos comandos sendo executados, garantindo que apenas a saída do script será visível para o usuário. Em seguida, usamos o comando powershell
com o parâmetro -File
para executar um script PowerShell chamado script.ps1
.
Este comando inicia uma sessão PowerShell e especifica o arquivo do script a ser executado. Ao combinar esses comandos, podemos executar perfeitamente um script PowerShell a partir de um arquivo em lote, simplificando o processo de execução de comandos PowerShell dentro de um ambiente de arquivo em lote.
Saída:
Use RemoteSigned
como -ExecutionPolicy
para executar um script PowerShell a partir de um arquivo em lote
O PowerShell possui diferentes políticas de execução que determinam quais scripts podem ser executados e de onde. Uma maneira de contornar essas restrições é especificando o parâmetro -ExecutionPolicy
com um valor de RemoteSigned
.
Esta política de execução permite que scripts criados localmente sejam executados sem exigir uma assinatura digital, enquanto scripts baixados da internet devem ser assinados por um editor confiável.
@echo off
powershell -ExecutionPolicy RemoteSigned -File script.ps1
No trecho de código fornecido, powershell -ExecutionPolicy RemoteSigned -File script.ps1
é usado para executar o script PowerShell chamado script.ps1
localizado no diretório de trabalho atual. Ao especificar o parâmetro -ExecutionPolicy
como RemoteSigned
, garantimos que scripts criados localmente possam ser executados sem uma assinatura digital, enquanto scripts baixados da internet devem ser assinados por um editor confiável.
Saída:
Use o switch Bypass
para executar um script PowerShell a partir de um arquivo em lote
Para contornar as restrições e permitir que o script seja executado sem quaisquer limitações impostas pela política de execução, podemos usar o parâmetro -ExecutionPolicy
com o valor Bypass
. Este método fornece uma maneira simples de executar scripts PowerShell a partir de um arquivo em lote, contornando quaisquer restrições de política de execução.
@echo off
powershell -ExecutionPolicy Bypass -File C:\path\script.ps1
No trecho de código fornecido, powershell -ExecutionPolicy Bypass -File C:\path\script.ps1
é utilizado para executar o script PowerShell chamado script.ps1
localizado no diretório C:\path\scripts
. Ao definir a política de execução como Bypass
, instruímos o PowerShell a desconsiderar quaisquer restrições de política de execução, permitindo que o script seja executado sem qualquer obstáculo.
Saída:
Você também pode executar o seguinte comando.
@echo off
powershell -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\path\script.ps1'"
Neste comando fornecido, utilizamos -ExecutionPolicy Bypass
para instruir o PowerShell a desconsiderar quaisquer restrições de política de execução, permitindo assim que o script seja executado sem limitações. Além disso, o parâmetro -NoProfile
garante que o perfil do PowerShell do usuário não seja carregado, o que ajuda a manter um ambiente de execução limpo para o script.
Saída:
Execute um script PowerShell a partir de um arquivo em lote abrindo o PowerShell como administrador
Executar um script PowerShell a partir de um arquivo em lote com privilégios elevados, abrindo o PowerShell como administrador, é um método crucial para executar scripts que requerem acesso administrativo. Esta abordagem garante que a sessão do PowerShell tenha as permissões necessárias para realizar tarefas administrativas, como modificar configurações do sistema ou acessar recursos restritos.
@echo off
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "Start-Process powershell.exe -Verb RunAs -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File C:\path\script.ps1'"
Neste trecho de código, utilizamos powershell.exe
para iniciar uma sessão PowerShell com privilégios elevados. O parâmetro -Verb RunAs
no cmdlet Start-Process
garante que o PowerShell seja aberto com privilégios administrativos.
Ao passar os argumentos necessários (-NoProfile -ExecutionPolicy Bypass -File C:\path\script.ps1
) para a nova sessão do PowerShell, habilitamos a execução do script especificado (script.ps1
) com permissões elevadas.
Saída:
Conclusão
Neste artigo, exploramos vários métodos para executar um script PowerShell a partir de um arquivo em lote. Aprendemos como usar o parâmetro -File
para executar um script diretamente, bem como como contornar restrições de política de execução usando os parâmetros RemoteSigned
e Bypass
.
Além disso, discutimos como abrir o PowerShell como administrador para executar scripts com privilégios elevados. Cada método oferece uma abordagem única para executar scripts PowerShell a partir de arquivos em lote, oferecendo flexibilidade e controle sobre o ambiente de execução.