Créer ses propres cmdlet sur Powershell

Dans le cadre de certaines tâches, il est parfois nécessaire ou plus facile d'automatiser via un script. Cependant, il faut encore se rappeler de l'endroit où on les stocker. Pour éviter cela, il est possible avec Windows de créer des command-lets (ou cmd-lets en abrégé) pour éviter de retenir les endroits où les scripts sont stockés. Dans cet article, nous allons voir comment les créer et les mettre en place sur Windows (c'est très simple)

Etape 1 : Ecrire un script

Dans mon cas, j'ai besoin d'un script qui compile une image Docker à partir d'un Dockerfile, qui le tag et qui l'envoit au registre choisit par l'utilisateur.

Donc je vais l'écrire. Pour ma part, j'utilise VSCode, sur lequel vous pouvez ajouter l'extension Powershell de Microsoft qui permet de vérifier en tant réel que le script est correctement écrit.

Passons maintenant à l'écriture : 

Maintenant que mon script est écrit et qu'il fonctionne, il faut le transformer en cmdlet.

Etape 2 : Tranformation du script en cmdlet

Pour cela, je vais transformer mon script en une fonction. Petite subtilité: je vais remplacer les entrées utilisateur par des paramètres de fonction

Ensuite, On ajoute Export-ModuleMember -Function nomFonction1(nomFonction2,...) à la fin du fichier et on enregistre cette fonction dans un fichier .psm1 (qui est un fichier de modules pour powershell). Il ne nous reste plus qu'à rendre cette fonction "persistante"

Etape 3 : Rendre la fonction persistante

Dans le terminal, on tape notepad $profile​et on valide. Si un popup s'affiche annonçant que le fichier n'existe pas et nous demande de le créer, c'est normal, on clique sur oui et le fichier va se créer. Dans ce fichier, on entre Import-Module "C:\Chemin\Vers\Module.psm1"​, on enregistre et on ferme. Et voilà, c'est terminé ! Félicitations ! Vous venez de créer votre/vos premier(s) cmdlet(s) !


Pour vérifier que tout fonctionne, on ouvre notre terminal et on entre le nom d'un de nos cmdlets et on regarde si ça marche : 


VSCode: https://code.visualstudio.com/

Extension Powershell pour VSCode: Extension Powershell

Créer ses propres cmdlet sur Powershell
Jules PILLOT 19 septembre 2025
Partager cet article
étiquettes
Archiver
Personnaliser son PowerShell !