Con Windows Po­we­r­She­ll, puedes in­tro­du­cir comandos en una interfaz de texto para realizar diversas tareas del sistema.

¿Qué es un Po­we­r­She­ll script?

Windows Po­we­r­She­ll es una interfaz de línea de comandos y lenguaje de scripting diseñada es­pe­cí­fi­ca­me­n­te para la ad­mi­ni­s­tra­ción y au­to­ma­ti­za­ción de sistemas ope­ra­ti­vos Windows y productos Microsoft re­la­cio­na­dos. Se publicó por primera vez en 2006 y desde entonces ha de­sem­pe­ña­do un papel im­po­r­ta­n­te en la ad­mi­ni­s­tra­ción de sistemas Windows.

Un script de Po­we­r­She­ll consiste en una secuencia de cmdlets Po­we­r­She­ll, funciones, variables, co­n­di­cio­nes y otras in­s­tru­c­cio­nes para au­to­ma­ti­zar procesos y tareas re­cu­rre­n­tes. Los scripts Po­we­r­She­ll se guardan en archivos de texto con la extensión .ps1. Para crearlos, puedes utilizar cualquier editor de texto o la consola In­te­gra­ted Scripting En­vi­ro­n­me­nt (ISE) de Po­we­r­She­ll. Para ejecutar el script, abre la consola Po­we­r­She­ll e introduce la ruta al archivo de script.

In­de­pe­n­die­n­te­me­n­te de cómo ejecutes el script, debes ase­gu­rar­te de que las políticas de ejecución de scripts estén co­n­fi­gu­ra­das co­rre­c­ta­me­n­te en tu entorno de Po­we­r­She­ll. Por defecto, en muchos sistemas, la ejecución de scripts de Po­we­r­She­ll está des­ac­ti­va­da para minimizar los riesgos de seguridad. Puedes cambiar las políticas de ejecución uti­li­za­n­do el cmdlet Set-Exe­cu­tio­n­Po­li­cy.

Se­r­vi­do­res dedicados
Re­n­di­mie­n­to e in­no­va­ción
  • Pro­ce­sa­do­res de última ge­ne­ra­ción
  • Hardware dedicado de alto re­n­di­mie­n­to
  • Centros de datos con ce­r­ti­fi­ca­ción ISO

Cómo crear scripts de Po­we­r­She­ll con Visual Studio Code

Visual Studio Code (VS Code) es un popular editor de código gratuito de Microsoft diseñado es­pe­cí­fi­ca­me­n­te para crear scripts y apli­ca­cio­nes. Incluye un potente resaltado de sintaxis para el código Po­we­r­She­ll y admite In­te­lli­Se­n­se para completar au­to­má­ti­ca­me­n­te el código.

Paso 1. Instala el VS Code

Si aún no has instalado VS Code, puedes de­s­ca­r­gar­lo desde la página web oficial. Se­le­c­cio­na Windows como sistema operativo y haz doble clic para iniciar el in­s­ta­la­dor.

Imagen: Descarga de VS Code
Descarga de VS Code para Windows

Paso 2. Añade la extensión Po­we­r­She­ll

Para poder utilizar Po­we­r­She­ll efi­ca­z­me­n­te en VS Code, debes instalar la extensión oficial Po­we­r­She­ll de Microsoft. Para ello, ve al área de “Ex­te­n­sio­nes” en VS Code (icono en la barra lateral izquierda) y busca “Po­we­r­She­ll”. Al­te­r­na­ti­va­me­n­te, introduce el atajo [Ctrl] + [Mayús] + [X]. Instala la extensión haciendo clic en “Trust Workspace & Install”.

Imagen: Extensión de PowerShell
Instalar la extensión de Po­we­r­She­ll para VS Code

Paso 3. Crea el script

Puedes abrir un script de Po­we­r­She­ll existente o crear uno nuevo se­le­c­cio­na­n­do “File” > “New Text File” e in­tro­du­cie­n­do el nombre del archivo con la extensión “.ps1” en “Save As”.

He aquí un ejemplo de código Po­we­r­She­ll que puede es­cri­bi­r­se en el archivo abierto:

# This is a comment 
$message = "Script to be executed" 
Write-Host $message
po­we­r­she­ll

Paso 4. Ejecuta el script

VS Code contiene un terminal integrado que puedes utilizar para ejecutar comandos Po­we­r­She­ll di­re­c­ta­me­n­te en el entorno. Abre el terminal haciendo clic en “Terminal” > “New Terminal” y se­le­c­cio­na “Po­we­r­She­ll” como tipo de terminal.

Imagen: Terminal VS Code
Se­le­c­cio­nar terminal en VS Code

Crear el script con el Bloc de notas

A co­n­ti­nua­ción te mo­s­tra­re­mos cómo crear un Po­we­r­She­ll script uti­li­za­n­do el editor de texto Bloc de notas.

Paso 1. Abre el Bloc de notas

Haz clic en “Inicio” o en el icono de Windows situado en la parte inferior izquierda del es­cri­to­rio. Introduce “Bloc de notas” en la barra de búsqueda y pulsa la tecla Intro. Se abrirá el editor de texto Bloc de notas.

Paso 2. Escribe el código Po­we­r­She­ll

Puedes pegar el código Po­we­r­She­ll di­re­c­ta­me­n­te en el editor Bloc de notas.

Imagen: Bloc de notas
Introduce el código Po­we­r­She­ll en el Bloc de notas

Haz clic en “File” > “Save” o utiliza la co­m­bi­na­ción de teclas [Ctrl] + [S]. Introduce un nombre de archivo y añade la extensión “.ps1” para guardar el script como archivo Po­we­r­She­ll. Se­le­c­cio­na una ubicación de al­ma­ce­na­mie­n­to en tu ordenador y haz clic en “Save”.

Crear scripts de Po­we­r­She­ll con In­te­gra­ted Scripting En­vi­ro­n­me­nt (ISE)

El In­te­gra­ted Scripting En­vi­ro­n­me­nt (ISE) de Po­we­r­She­ll es un entorno de de­sa­rro­llo integrado (IDE) de Microsoft. El ISE de Po­we­r­She­ll está di­s­po­ni­ble por defecto en los sistemas Windows y sirve como un entorno robusto y fácil de usar para el de­sa­rro­llo de scripts de Po­we­r­She­ll. Debes tener en cuenta que el ISE ha sido su­s­ti­tui­do por Visual Studio Code (VS Code) con Po­we­r­She­ll 5.0 y versiones su­pe­rio­res, ya que este dispone de funciones y fle­xi­bi­li­dad adi­cio­na­les.

Paso 1. Abre el ISE de Po­we­r­She­ll

Haz clic en “Start” en la parte inferior izquierda de tu es­cri­to­rio. Escribe “Po­we­r­She­ll ISE” en la barra de búsqueda y se­le­c­cio­na “Run as ad­mi­ni­s­tra­tor”.

Imagen: Inicio del ISE de PowerShell
Ejecuta el ISE de Po­we­r­She­ll como ad­mi­ni­s­tra­dor

Paso 2. Diseña un nuevo script

En el ISE de Po­we­r­She­ll, puedes crear un nuevo script haciendo clic en “File” > “New” o uti­li­za­n­do la co­m­bi­na­ción de teclas [Ctrl] + [N]. Escribe tu código Po­we­r­She­ll en la ventana principal del ISE. Tendrás acceso a funciones como el resaltado de sintaxis, el co­m­ple­ta­do au­to­má­ti­co de código y una interfaz de usuario clara que facilita el de­sa­rro­llo de scripts.

He aquí un ejemplo de script sencillo:

# This is a comment 
$message = "Hello World!" 
Write-Host $message
po­we­r­she­ll

Paso 3. Guarda el script

Haz clic en “File” > “Save” o pulsa **[Ctrl] + [S]”. Asegúrate de añadir la extensión “.ps1” para guardar el script como archivo Po­we­r­She­ll.

Ejecuta el script de Po­we­r­She­ll

Un script de Po­we­r­She­ll se inicia no­r­ma­l­me­n­te a través de la consola Po­we­r­She­ll u otro terminal.

Paso 1. Inicia Po­we­r­She­ll

Primero abre Po­we­r­She­ll con derechos de ad­mi­ni­s­tra­dor como en el ejemplo de ISE.

Paso 2. Cambia el Exe­cu­tio­n­Po­li­cy

Po­we­r­She­ll incluye cuatro Políticas de ejecución (Execution Policies) di­fe­re­n­tes que controlan la seguridad y la capacidad de ejecutar scripts en el entorno Po­we­r­She­ll. Las cuatro políticas de ejecución comunes son:

  • Re­s­tri­c­ted (Re­s­tri­n­gi­da): es la política de ejecución pre­de­te­r­mi­na­da para Po­we­r­She­ll. Con ella, los scripts están des­ac­ti­va­dos y solo se pueden ejecutar comandos in­ter­ac­ti­vos en la consola. Esto pro­po­r­cio­na el máximo nivel de seguridad, ya que la ejecución de scripts está bloqueada de forma pre­de­te­r­mi­na­da.
  • AllSigned (Todos firmados): con esta política, todos los scripts deben estar firmados di­gi­ta­l­me­n­te para poder eje­cu­tar­se. Esto significa que el autor del script debe utilizar un ce­r­ti­fi­ca­do digital para firmar el script.
  • Re­mo­te­Si­g­ned (Firmado remoto): con Re­mo­te­Si­g­ned, solo los scripts que provienen de Internet o de una ubicación de red deben estar firmados. Los scripts locales al­ma­ce­na­dos en tu ordenador pueden eje­cu­tar­se sin firma. Esto facilita el uso de scripts locales.
  • Un­re­s­tri­c­ted (No re­s­tri­n­gi­do): esta política permite la ejecución de todos los scripts sin firma o re­s­tri­c­ción alguna. Se des­aco­n­se­ja utilizar esta política en un entorno pro­du­c­ti­vo, ya que re­pre­se­n­ta un riesgo de seguridad. Solo debe co­n­si­de­rar­se para fines de prueba o en entornos seguros.

Puedes ver la política de ejecución actual en tu entorno de Po­we­r­She­ll uti­li­za­n­do el comando Get-Exe­cu­tio­n­Po­li­cy. Para cambiar la política de ejecución, utiliza el comando Set-Exe­cu­tio­n­Po­li­c­ty seguido de la política deseada.

Puedes ingresar el siguiente comando para permitir la ejecución de scripts en Po­we­r­She­ll:

Set-ExecutionPolicy RemoteSigned
po­we­r­she­ll
Imagen: PowerShell ISE
Cambiar Exe­cu­tio­n­Po­li­cy en el ISE de Po­we­r­She­ll

Paso 3. Confirma la ejecución (si es necesario)

De­pe­n­die­n­do de la co­n­fi­gu­ra­ción de seguridad de tu entorno Po­we­r­She­ll, es posible que recibas un mensaje de seguridad para confirmar que deseas ejecutar el script. Introduce “Y” o “A” para aceptar, o “N” para “No”.

Paso 4. Ejecuta el script de Po­we­r­she­ll

Para ejecutar el script Po­we­r­She­ll, inserta la ruta al archivo:

& "C:\PATH\TO\SCRIPT\script.ps1"
po­we­r­she­ll
Ir al menú principal