# Cómo Ejecutar Scripts en PowerShell: Formas Correctas e Incorrectas

- Link: https://binariocero.com/articulos/como-ejecutar-scripts-en-powershell-formas-correctas-e-incorrectas
- Published: 2025-06-08T18:14:00+02:00
- Author: Juan José Fernández Durán

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

PowerShell es una poderosa herramienta de automatización y administración de sistemas
desarrollada por Microsoft. Una de sus capacidades más destacadas es la posibilidad
de ejecutar scripts para realizar tareas repetitivas o complejas. Sin embargo, es
frecuente encontrar errores en la ejecución de scripts debido al desconocimiento
de la sintaxis adecuada o de las políticas de seguridad. En este artículo te explicamos**
cómo ejecutar scripts en PowerShell correctamente** y cuáles son las **formas incorrectas**
que debes evitar.

## Formas Correctas de Ejecutar un Script en PowerShell

### 1. **Desde la consola de PowerShell con ruta relativa o absoluta**

Para ejecutar un script `.ps1`, primero asegúrate de estar en la ruta correcta o
proporciona la ruta completa:

    ```wp-block-preformatted
    .\mi_script.ps1       # Ruta relativa (desde el directorio actual)C:\Scripts\mi_script.ps1  # Ruta absoluta
    ```

> Nota: PowerShell no permite ejecutar scripts por su nombre solamente (como en 
> Linux), por razones de seguridad. Por eso se requiere `.\` o la ruta completa.

### 2. **Ejecutar scripts desde otra ubicación usando `&` (call operator)**

El call operator permite ejecutar un script desde cualquier ruta, incluso si contiene
espacios:

    ```wp-block-preformatted
    & "C:\Mis scripts\mi_script.ps1"
    ```

### 3. **Pasar parámetros al script**

Si tu script acepta parámetros, puedes invocarlo así:

    ```wp-block-preformatted
    .\mi_script.ps1 -Parametro1 "valor1" -Parametro2 "valor2"
    ```

### 4. **Cambiar la política de ejecución (solo si es necesario)**

PowerShell tiene una política de ejecución que puede bloquear la ejecución de scripts.
Puedes consultar tu política con:

    ```wp-block-preformatted
    Get-ExecutionPolicy
    ```

Y cambiarla (como administrador) si fuera necesario:

    ```wp-block-preformatted
    Set-ExecutionPolicy RemoteSigned
    ```

`RemoteSigned` permite ejecutar scripts locales sin firmar, pero requiere firma 
digital para scripts descargados.

### 5. **Ejecución desde el Programador de tareas o atajos**

Puedes configurar tareas automatizadas o accesos directos que ejecuten scripts:

    ```wp-block-preformatted
    powershell.exe -File "C:\Scripts\mi_script.ps1"
    ```

O con PowerShell Core:

    ```wp-block-preformatted
    pwsh.exe -File "C:\Scripts\mi_script.ps1"
    ```

## Formas Incorrectas de Ejecutar un Script en PowerShell

### 1. Ejecutar sin prefijo `.\` o sin ruta

    ```wp-block-preformatted
    mi_script.ps1   # Incorrecto, PowerShell no ejecutará así por defecto
    ```

Esto devolverá un error del tipo:

    ```wp-block-preformatted
    El término 'mi_script.ps1' no se reconoce como un nombre de cmdlet...
    ```

### 2. Hacer doble clic desde el Explorador de Windows

Aunque un script `.ps1` puede estar asociado a PowerShell, hacer doble clic puede**
abrir y cerrar la ventana rápidamente**, sin mostrar resultados ni errores.

### 3. Ignorar la política de ejecución

Intentar ejecutar un script sin verificar la política de ejecución puede producir
errores como:

    ```wp-block-preformatted
    File C:\Scripts\mi_script.ps1 cannot be loaded because running scripts is disabled on this system.
    ```

> No se debe cambiar la política sin entender las implicaciones de seguridad.

### 4. Ejecutar scripts mal escritos o con errores de codificación

Usar un editor de texto inadecuado (como el Bloc de notas) puede introducir errores
invisibles (por ejemplo, codificación incorrecta o saltos de línea de Windows/Unix).

**Recomendado**: usar Visual Studio Code, PowerShell ISE o editores con soporte 
para PowerShell.

### 5. Copiar y pegar fragmentos sin verificar permisos o contexto

Scripts que interactúan con el sistema pueden requerir privilegios de administrador.
Ejecutarlos sin una consola elevada generará errores o fallos silenciosos.

## Conclusión

Ejecutar scripts en PowerShell puede ser muy sencillo si se respetan las normas 
de sintaxis y seguridad. Asegúrate de:

 * Utilizar rutas correctas (con `.\` o completas),
 * Entender la política de ejecución,
 * Usar entornos adecuados para edición y prueba.

Evitar las prácticas incorrectas te ahorrará tiempo y evitará problemas de seguridad
o fallos inesperados.
