Articles

Funciones de PowerShell

Cuando necesitamos usar el mismo código en más de un script, usamos una función de PowerShell.

Una función es una lista de instrucciones de PowerShell cuyo nombre es asignado por el usuario. Cuando ejecutamos una función, escribimos el nombre de una función.

Al igual que los cmdlets, las funciones también pueden tener parámetros. Los parámetros de la función se pueden leer desde la canalización o desde la línea de comandos.

En PowerShell, las funciones devuelven los valores que se pueden asignar a las variables o pasar a los cmdlets u otras funciones. Al usar la palabra clave return, podemos especificar el valor devuelto.

Sintaxis

El siguiente bloque describe una sintaxis para una función:

La sintaxis anterior incluye los siguientes términos:

  • Una palabra clave de función
  • Un nombre que usted proporciona
  • Un ámbito (Es opcional)
  • Cualquier número de parámetro con nombre
  • Uno o más comandos de PowerShell que están encerrados entre llaves {}.

Ámbito de una función

  • En PowerShell, una función existe en un ámbito en el que fue creado.
  • Si una función está en un script, solo está disponible para las instrucciones de ese script.
  • Cuando se especifica una función en el ámbito global, podemos usarla en otras funciones, scripts y en la línea de comandos.

Función simple

El siguiente bloque describe cómo crear la función más simple en un PowerShell:

Para agregar varias sentencias a la función, debemos usar un punto y coma para separar las sentencias o escribir cada sentencia en una línea separada.

Para usar la función, escriba el nombre de la función como se indica en el bloque siguiente:

Ejemplo:

Escriba el siguiente comando en la consola de PowerShell para obtener la salida del ejemplo anterior:

Salida:

Windows Operating SystemLinux operating System

Función avanzada

Las funciones avanzadas son aquellas funciones que pueden realizar operaciones similares a las realizadas con los cmdlets. Estas funciones se utilizan cuando un usuario desea escribir una función sin tener que escribir un cmdlet compilado.

La principal diferencia entre usar un cmdlet compilado y una función avanzada es que los cmdlets compilados son las clases de .NET Framework que debe estar escrito en un lenguaje. NET framework. Además, las funciones avanzadas están escritas en el lenguaje de script de PowerShell.

El siguiente ejemplo se describe cómo utilizar la función avanzada en PowerShell:

Escriba el siguiente comando en la consola de PowerShell para obtener la salida del ejemplo anterior:

Resultado:

cmdlet Send-Greeting at command pipeline position 1Supply values for the following parameters:Name: AmanHi Aman!

Ejemplos de Funciones

Ejemplo1: El siguiente ejemplo es una simple función que devuelve una fecha actual

Escriba el siguiente comando en la consola de PowerShell para obtener la salida del ejemplo anterior:

Resultado:

15 November 2019 14:41:17

Ejemplo 2: El siguiente ejemplo es una función que acepta un parámetro y devuelve un valor en el parámetro.

Escriba el siguiente comando para obtener la información de un usuario, para el ejemplo anterior:

Resultado:

Enter a value: 10

Escriba el comando siguiente para almacenar el valor de retorno de la función en una variable que muestra la salida de la función:

El siguiente comando muestra el resultado:

Resultado: