Articles

Fonctions PowerShell

Lorsque nous devons utiliser le même code dans plusieurs scripts, nous utilisons une fonction PowerShell.

Une fonction est une liste d’instructions PowerShell dont le nom est attribué par l’utilisateur. Lorsque nous exécutons une fonction, nous tapons le nom d’une fonction.

Comme les applets de commande, les fonctions peuvent également avoir des paramètres. Les paramètres de fonction peuvent être lus à partir du pipeline ou de la ligne de commande.

Dans PowerShell, les fonctions renvoient les valeurs qui peuvent être affectées aux variables ou transmises aux applets de commande ou à d’autres fonctions. En utilisant le mot clé return, nous pouvons spécifier la valeur de retour.

Syntaxe

Le bloc suivant décrit une syntaxe pour une fonction :

La syntaxe ci-dessus comprend les termes suivants :

  • Un mot-clé de fonction
  • Un nom qui vous est donné
  • Une portée (facultative)
  • Un nombre quelconque de paramètres nommés
  • Une ou plusieurs commandes de PowerShell qui sont entourées d’accolades {}.

Portée d’une fonction

  • Dans PowerShell, une fonction existe dans une portée dans laquelle elle a été créée.
  • Si une fonction est dans un script, elle n’est disponible que pour les instructions de ce script.
  • Lorsqu’une fonction est spécifiée dans la portée globale, nous pouvons l’utiliser dans d’autres fonctions, des scripts et la ligne de commande.

Fonction simple

Le bloc suivant vous décrit comment créer la fonction la plus simple dans un PowerShell :

Pour ajouter les multiples instructions à la fonction, nous devons utiliser un point-virgule pour séparer les instructions ou taper chaque instruction sur une ligne distincte.

Pour utiliser la fonction, tapez le nom de la fonction comme indiqué dans le bloc suivant:

Exemple :

Tapez la commande suivante dans la console PowerShell pour obtenir la sortie de l’exemple ci-dessus :

Sortie :

Windows Operating SystemLinux operating System

Fonction avancée

Les fonctions avancées sont les fonctions qui peuvent effectuer des opérations similaires aux opérations effectuées avec les applets de commande. Ces fonctions sont utilisées lorsqu’un utilisateur souhaite écrire une fonction sans avoir à écrire une applet de commande compilée.

La principale différence entre l’utilisation d’une applet de commande compilée et d’une fonction avancée est que les applets de commande compilées sont les classes de.Framework NET qui doit être écrit dans un langage .NET framework. De plus, les fonctions avancées sont écrites dans le langage de script PowerShell.

L’exemple suivant décrit comment utiliser la fonction avancée dans PowerShell :

Tapez la commande suivante dans la console PowerShell pour obtenir la sortie de l’exemple ci-dessus :

Sortie :

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

Exemples de fonctions

Example1: L’exemple suivant est une fonction simple qui renvoie une date actuelle

Tapez la commande suivante dans la console PowerShell pour obtenir la sortie de l’exemple ci-dessus:

Sortie :

15 November 2019 14:41:17

Example2: L’exemple suivant est une fonction qui accepte un paramètre et renvoie une valeur sur ce paramètre.

Tapez la commande suivante pour obtenir l’entrée d’un utilisateur pour l’exemple ci-dessus :

Output:

Enter a value: 10

Tapez la commande suivante pour stocker la valeur de retour de la fonction dans une variable qui affiche la sortie de la fonction :

La commande suivante vous montre un résultat :

Output: