Si eres nuevo en el lenguaje de secuencias de comandos PowerShell y deseas aprender a ejecutar scripts en PowerShell, has llegado al artículo adecuado. Este blog será un tutorial que abordará las formas comunes de ejecutar scripts y algunos problemas que pueden surgir.
Prerrequisitos
Este artículo será una guía paso a paso sobre cómo ejecutar PowerShell en tu computadora local. Si deseas seguir, asegúrate de tener los siguientes requisitos previos antes de comenzar este artículo.
- A Windows 10 computer with Administrator privileges.
- Windows PowerShell versión 5 o superior. También puedes utilizar PowerShell v7. Este tutorial se centrará en Windows PowerShell, ya que el sistema operativo Windows ya lo incluye.
- Cualquier editor de archivos de texto
Manejo de la Política de Ejecución
Si es la primera vez que intentas ejecutar un script de Windows PowerShell, es probable que te encuentres con un problema común. PowerShell probablemente devolverá un mensaje de error indicando que un script “no se puede cargar porque la ejecución de scripts está deshabilitada en este sistema”.
PowerShell devuelve el mensaje de error mencionado anteriormente cuando intentas ejecutar un script de PowerShell con una política de ejecución establecida en Restringida, Firmada Remotamente o Todas Firmadas.
Restringida
Restringida es la política predeterminada establecida para las computadoras cliente de Windows. Si estás usando PowerShell por primera vez, es probable que tu política predeterminada esté configurada para restringir todos los scripts.
Todavía puedes ejecutar comandos individuales en un terminal, pero no un archivo de script. La restricción incluye cualquier archivo que termine con .ps1xml
, .psm1
o .ps1
.
Sin Restricciones
Sin Restricciones te permite ejecutar cualquier script, sin embargo, te advierte antes de la ejecución si el script se descargó de internet. Esta política suele ser la predeterminada para cualquier dispositivo no Windows.
Firmada Remotamente
La política Firmada Remotamente te permite ejecutar cualquier script que esté (a) firmado digitalmente o (b) cualquier script escrito en tu computadora local con o sin firma.
Si un script se descarga de internet y no está firmado, necesitarías desbloquear el archivo. Puedes hacerlo haciendo clic derecho en el archivo y seleccionando Propiedades. O puedes usar el cmdlet de PowerShell Unblock-File
para ese archivo de script en particular.
Usar una política Firmada Remotamente sería una opción ideal al ejecutar un script descargado de internet.
Todas Firmadas
Todas Firmadas requiere que todos los scripts estén firmados digitalmente por un editor de confianza. Esto incluye los scripts descargados de internet y escritos localmente en tu computadora.
Cambiar la Política de Ejecución de PowerShell
Para cambiar la política de ejecución:
- Abre Windows PowerShell con Ejecutar como administrador para asegurarte de que tienes los permisos más altos para realizar los cambios de política.

2. Una vez abierto, ejecuta el siguiente comando de PowerShell para establecer la política de ejecución de tu computadora. La política de ejecución, como se mencionó anteriormente, puede ser uno de tres tipos diferentes. Este tutorial está utilizando una política de ejecución útil pero aún segura llamada RemoteSigned.
Dado que este tutorial asume que has descargado desde Internet el archivo de script GetServices.ps1, establece la política de ejecución en RemoteSigned.
La política de ejecución RemoteSigned te obliga a firmar criptográficamente cada script de PowerShell descargado de Internet antes de que PowerShell lo ejecute en tu sistema.
3. Deberías ver una salida solicitando confirmar la acción. Ingresa Y y presiona enter para confirmar el cambio de política.
En este punto, sigue los siguientes pasos para explorar diferentes métodos para ejecutar el script de PowerShell en tu computadora.
Cómo Ejecutar un Script de PowerShell
Para demostrar la ejecución de un script de PowerShell, ¡realmente necesitas un archivo de script para ejecutar! Si no tienes uno a mano, descarga este archivo ZIP y extrae el archivo PS1 dentro. Encontrarás dentro un archivo de script simple llamado GetServices.ps1.
Cada script de PowerShell debería terminar con la extensión
.ps1
.
Usando la Consola
Una vez que tengas un script listo, hay algunas formas diferentes de ejecutar un archivo de script de PowerShell. Una de las formas más comunes es a través de la consola de PowerShell.
Para hacerlo:
- Abre la consola de PowerShell como se muestra arriba.
2. Navega hasta la ubicación del sistema de archivos donde se encuentra tu script usando el cmdlet de PowerShell Set-Location
o el alias cd
. El script de este tutorial se encuentra en el directorio C:\Temp.
3. Ejecuta el script usando la notación de punto (.
). PowerShell es una shell que también busca nombres de comandos. Para diferenciar entre un comando de PowerShell y un script, debes anteponer el script con un punto. Este punto representa el directorio actual.
Cómo Ejecutar un Script de PowerShell desde la Línea de Comandos a través de la Ubicación de PowerShell
Si no puedes o prefieres no ejecutar scripts a través de la consola de PowerShell, también puedes hacerlo con el buen y viejo símbolo del sistema (command prompt).
Para ejecutar scripts a través del símbolo del sistema, primero debes iniciar el ejecutable de PowerShell (`powershell.exe`), con la ubicación de PowerShell en `C:\Program Files\WindowsPowerShell\powershell.exe` y luego pasar la ruta del script como parámetro.
Puedes ejecutar scripts con parámetros en cualquier contexto simplemente especificándolos mientras ejecutas el ejecutable de PowerShell como `powershell.exe -Parameter ‘Foo’ -Parameter2 ‘Bar’`.
Una vez que abras `cmd.exe`, puedes ejecutar un script de PowerShell como se muestra a continuación. Este ejemplo está ejecutando el motor y pasándole la ruta del script `C:\Temp\GetServices.ps1`.
Observa que el ejemplo está utilizando la ubicación de PowerShell para ejecutar el script. Deberás hacer esto si la carpeta no está en tu PATH en algún lugar.
La ubicación de PowerShell para PowerShell 7 utiliza un ejecutable diferente llamado `pwsh.exe`, generalmente ubicado en `C:\Program Files\PowerShell\7\pwsh.exe`.
A continuación hay un práctico video de YouTube que cubre la ejecución de un script a través de un archivo por lotes que `cmd.exe` ejecuta.
Usando el ISE de PowerShell
Si creas tus propios scripts o editas los de otros, probablemente estés usando un editor de scripts como el ISE de PowerShell o tal vez Visual Studio (VS) Code. Dado que el ISE viene con Windows, vamos a enfocarnos en ese método para este tutorial.
Para invocar un script a través del ISE:
- Dirígete al Menú de Inicio, busca PowerShell ISE y ábrelo.

2. Haz clic en Archivo → Abrir y encuentra tu script.

3. Con el script abierto, haz clic en el botón verde de ejecución para ejecutarlo. Este botón invocará el script en la terminal de PowerShell integrada en la parte inferior.

La Salida del Ejemplo del Script
A PowerShell script can sometimes return output. This happens when the script you’re executing is built to return objects which is a fundamental component of PowerShell.
Si ejecutas el script de ejemplo GetServices.ps1, verás lo siguiente. Este script ejecuta el cmdlet Get-Service
que devuelve todos los servicios instalados en tu computadora Windows local.
Ejecutando un Script de PowerShell desde Dentro de Otro Script
Supongamos que tienes dos scripts y quieres que uno llame al otro. Tal vez tengas un script llamado GetUser.ps1 y otro llamado ResetPassword.ps1. Dentro del script GetUser.ps1, quieres ejecutar el ResetPassword.ps1 para restablecer la contraseña de un usuario.
Dentro del script llamante (GetUser.ps1), agregarías una línea para ejecutar el otro script de la misma manera que llamarías al script desde la línea de comandos.
Puedes ver abajo que tienes un par de opciones. Normalmente deberías elegir ejecutar el otro script dentro de la misma sesión o alcance para simplificar las cosas a menos que tengas una razón específica para ejecutar el script en otra sesión de PowerShell.