Ejecutar un script de PowerShell desde un archivo Batch

Rohan Timalsina 30 enero 2023
  1. Use el parámetro -File para ejecutar un script de PowerShell desde un archivo Batch
  2. Use RemoteSigned como -ExecutionPolicy para ejecutar un script de PowerShell desde un archivo Batch
  3. Use el interruptor Bypass para ejecutar un script de PowerShell desde un archivo Batch
  4. Ejecute un script de PowerShell desde un archivo Batch abriendo PowerShell como administrador
Ejecutar un script de PowerShell desde un archivo Batch

Un script de PowerShell es un archivo de texto que usa la extensión .ps1 que contiene una colección de comandos. PowerShell ejecuta esos comandos en secuencia.

Un archivo Batch es un archivo de texto que utiliza la extensión .bat. También contiene una colección de comandos que se ejecutan en secuencia.

Los comandos se pueden ejecutar abriendo el archivo .bat. Este tutorial le enseñará a ejecutar un script de PowerShell desde un archivo Batch.

Hemos creado un script de PowerShell, myscript.ps1, que contiene el siguiente comando.

Write-Host "Your script is executed successfully."

También creamos un archivo Batch test.bat para ejecutar el script de PowerShell anterior. Usaremos el archivo Batch test.bat para ejecutar un script de PowerShell myscript.ps1.

Use el parámetro -File para ejecutar un script de PowerShell desde un archivo Batch

Puede invocar un script de PowerShell utilizando el parámetro -File. Es el comando simple para ejecutar un script de PowerShell desde el símbolo del sistema.

El siguiente comando se usa en el archivo test.bat para ejecutar un script de PowerShell. El comando @echo off deshabilita el eco o evita que se muestre el contenido del archivo Batch.

El comando pause detiene la ejecución de un archivo Batch hasta que presione cualquier tecla excepto Ctrl, Shift o NumberLock.

@echo off
powershell -File C:\New\myscript.ps1
pause

Producción :

Your script is executed successfully.
Press any key to continue . . .

Use RemoteSigned como -ExecutionPolicy para ejecutar un script de PowerShell desde un archivo Batch

Puede configurar RemoteSigned como -ExecutionPolicy para ejecutar un script de PowerShell desde un archivo Batch. El parámetro -ExecutionPolicy especifica la política de ejecución de PowerShell.

@echo off
powershell -ExecutionPolicy RemoteSigned -File C:\New\myscript.ps1
pause

Producción :

Your script is executed successfully.
Press any key to continue . . .

Use el interruptor Bypass para ejecutar un script de PowerShell desde un archivo Batch

También puede utilizar el Bypass como política de ejecución para ejecutar un script de PowerShell desde un archivo Batch.

@echo off
powershell -ExecutionPolicy Bypass -File C:\New\myscript.ps1
pause

Producción :

Your script is executed successfully.
Press any key to continue . . .

O también puede ejecutar el siguiente comando.

@echo off
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& 'C:\New\myscript.ps1'"
pause

Producción :

Your script is executed successfully.
Press any key to continue . . .

Ejecute un script de PowerShell desde un archivo Batch abriendo PowerShell como administrador

El siguiente comando abre PowerShell como administrador para ejecutar un script de PowerShell. Cuando abre un archivo Batch y selecciona Yes, la salida se mostrará en Windows PowerShell.

@echo off
PowerShell -NoProfile -ExecutionPolicy Bypass -Command "& {Start-Process PowerShell -ArgumentList '-NoProfile -ExecutionPolicy Bypass -File ""C:\New\myscript.ps1""' -Verb RunAs}"
ps1'"
pause

Producción :

Your script is executed successfully.
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artículo relacionado - PowerShell Script