Passer en revue les fonctions dans les scripts Windows PowerShell
Une fonction est un bloc de code réutilisable. Utilisez des fonctions pour éviter de répéter le même code dans un script. Par exemple, si votre script effectue plusieurs actions, créez une fonction de journalisation et appelez-la chaque fois qu’une action s’exécute. Si vous devez mettre à jour le comportement de journalisation ultérieurement, vous le modifiez à 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
Lorsque vous appelez la fonction, PowerShell transmet la -ComputerName valeur à $ComputerName l’intérieur de 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
Note
Get-EventLog utilise une API Win32 déconseillée et n’est pas disponible dans PowerShell 7 ou version ultérieure. Pour les nouveaux scripts ciblant PowerShell 7+, utilisez Get-WinEvent -LogName Security -ComputerName $ComputerName -MaxEvents 10 plutôt.