Tutorial donde mostramos cómo ejecutar una función contenida en un fichero de script PowerShell (.ps1) de Windows y cómo pasarle parámetros a esta función. Indicamos paso a paso cómo ejecutar una función desde la línea de comandos, cómo cargarla en el shell y cómo mostrar su información mediante Get-Help Nombre_Funcion.

Crear fichero de script PowerShell .ps1 con función

En primer lugar crearemos el fichero de script PowerShell con la función que posteriormente queramos ejecutar en la línea de comandos de PowerShell. Para ello abriremos cualquier editor de texto plano (como notepad o incluso el propio editor de Script PowerShell) y escribiremos el código de nuestra función. Un ejemplo de función PowerShell:

La función anterior “holaMundo”, puede tomar como parámetro un nombre y devolverá por pantalla “Hola mundo, tu nombre es xxx”, donde “xxx” será el nombre pasado por parámetro.

Guardaremos el contenido del fichero de script PowerShell con extensión .ps1, por ejemplo con el nombre “holaMundo.ps1”:

Ejecutar función y pasarle parámetros desde línea de comandos de PowerShell

Una vez de que dispongamos del fichero de script con la función o las funciones PowerShell podremos usarlas desde la línea de comandos. Para ello abriremos PowerShell, lo normal será ejecutarlo como Administrador para ello pulsaremos en el acceso directo de Windows PowerShell con el botón derecho y pulsaremos en “Ejecutar como administrador”:

Una vez abierta la línea de comandos cargaremos el fichero de script PowerShell con la función, para ello ejecutaremos:

. E:\holaMundo.ps1

El punto inicial “.” es necesario para indicar que es un fichero de script, en nuestro caso hemos indicando la unidad y nombre del fichero de script E:\holaMundo.ps1 que cambiaremos lógicamente por el nombre y unidad donde tengamos el fichero de scritp.

Una vez cargado el fichero de script podremos comprobar si la función se ha cargado correctamente ejecutando:

Get-Help holaMundo

Donde holaMundo será el nombre que hayamos dado a la función dentro del fichero de script.

Si todo es correcto nos devolverá algo así:

PS C:\> Get-Help holaMundo
NOMBRE
    holaMundo
SINTAXIS
    holaMundo [[-nombre] <string>]
ALIAS
    Ninguno
NOTAS
    Ninguno

Por último ya podremos usar y ejecutar la función holaMundo del fichero de script holaMundo.ps1 pasándole un parámetro que será el nombre que queramos mostrar:

holaMundo “ProyectoA.com”

Vemos que toma el parámetro “ProyectoA.com” y lo muestra en el texto.

De esta forma podremos crear uno o varios ficheros de script con una o varias funciones y podremos llamarlas en cualquier momento desde la línea de comandos PowerShell.