Fondamentaux

Comment utiliser le Splatting

Le splatting est une méthode de transmission de plusieurs paramètres à une commande en une seule unité. Cela se fait en stockant les paramètres et leurs valeurs en tant que paires clé-valeur dans une table de hachage et en les répartissant dans une applet de commande à l’aide de l’opérateur de répartition @

En effet, certaines commandes ont un nombre assez important de paramètres obligatoires et cela peut rapidement devenir illisible, malgré l’utilisation du caractère ` ([Alt Gr]+7).

Exemple

Vous trouverez ci-dessous deux exemples à ne pas reproduire dans vos scripts PowerShell, car cela peut en rendre difficile leur lecture et modification.

New-ADGroup -Name 'gg_Artistes' -Path 'OU=Groups,DC=PDZ,DC=lab' -GroupCategory 'Security' -GroupScope 'Global'
New-ADGroup -Name 'gg_Artistes' `
    -Path 'OU=Groups,DC=PDZ,DC=lab' `
    -GroupCategory 'Security' `
    -GroupScope 'Global'

Voici ce que donne la même commande quand on utilise le splatting

$splats = @{
    Name           = 'gg_Artistes' 
    Path           = 'OU=Groups,DC=PDZ,DC=lab'
    GroupCategory  = 'Security'
    GroupScope     = 'Global'
}
New-ADGroup @splats

Dans un autre cas, il n’est pas rare de devoir réutiliser une commande plusieurs fois avec les mêmes paramètres. D’ordinaire, on définit les paramètres un à un. Le bon réflexe est de centraliser les valeurs dans des variables, puis de les assigner aux paramètres de chaque commande avec de légères variations.

$splats = @{
    Path           = 'OU=Groups,DC=PDZ,DC=lab'
    GroupCategory  = 'Security'
    GroupScope     = 'Global'
}

New-ADGroup -Name 'gg_Artistes' @splats
New-ADGroup -Name 'gg_Auteurs' @splats
New-ADGroup -Name 'gl_Direction' @splats

Conclusion

Le splatting prend beaucoup de place, c’est pourquoi il est recommandé de l’utiliser avec un minimum de 4 paramètres.

N’hésitez pas à user et abuser de cette astuce sur l’ensemble de vos développements afin d’améliorer significativement la lisibilité et la réutilisabilité de votre travail.

Tags

Thomas ILLIET

Si le développement PowerShell était un art, vous pourriez certainement me considérer comme un artisan au sens noble du terme. Apportant un savoir-faire unique, un amour du travail bien fait et une personnalisation rendant chaque pièce produite parfaitement ciselée au besoin de son commanditaire.

Articles similaires

Fermer
Fermer