Passer en revue les fonctions dans les scripts Windows PowerShell

Effectué

Une fonction est un bloc de code réutilisable. Vous pouvez utiliser des fonctions pour effectuer des actions répétitives au sein d’un script au lieu de placer le même code dans le script plusieurs fois. Par exemple, si vous avez un script volumineux capable d’effectuer plusieurs actions, au lieu de placer le code qui permet de journaliser les données sur le disque dans chaque action, vous pouvez avoir une seule fonction qui journalise les données sur le disque. Ainsi, la fonction de journalisation est appelée chaque fois qu’une action est effectuée. Par la suite, si vous voulez modifier cette fonction de journalisation, vous n’avez qu’à le faire à un seul endroit.

Quand vous appelez une fonction, vous pouvez lui passer des données. Vous utilisez le bloc Param() pour une fonction de la même façon que pour un script. Après la déclaration de la fonction, insérez le bloc Param() et les définitions des variables censées être passées à la fonction. L’exemple suivant est une fonction qui utilise un bloc Param() pour accepter un nom d’ordinateur :

Function Get-SecurityEvent {
   Param (
      [string]$ComputerName
   ) #end Param
   Get-EventLog -LogName Security -ComputerName -$ComputerName -Newest 10
}

Pour appeler la fonction au sein d’un script, utilisez la syntaxe suivante :

Get-SecurityEvent -ComputerName LON-DC1

Dans l’exemple précédent, la valeur du paramètre -Computer est passée à la $ComputerName variable dans la fonction. Get-EventLog interroge ensuite les 10 événements les plus récents à partir du journal de sécurité de cet ordinateur et les affiche à l’écran. Si vous voulez que ces événements soient placés dans une variable et disponibles pour une utilisation dans le reste du script, utilisez la syntaxe suivante :

$securityEvents = Get-SecurityEvent -ComputerName LON-DC1