Comment apprendre PowerShell ?

Par où commencer ?

Lorsque nous commençons à apprendre un langage, une des questions qui se pose le plus souvent est : par où commencer ? C’est d’ailleurs souvent cela qui constitue un « frein » à l’envie de s’y mettre :

  • manque de motivation ;

  • impression qu’il y a trop de choses à apprendre avant d’arriver à ses fins.

En ce qui nous concerne, nous en apprenons encore tous les jours sur PowerShell, ce qui rend cela passionnant. Il n’y a pas de méthode exacte, cela dépend aussi de votre historique :

  • Utilisez-vous déjà un autre type de langage ?

  • Êtes-vous à l’aise avec le scripting ?

  • Aimez-vous apprendre tout seul ?

L’important est de ne pas brûler les étapes en voulant partir tout de suite sur des scripts complexes.

Il arrive régulièrement que des gens nous contactent car ils souhaitent apprendre PowerShell et nous demandent comment faire tel ou tel script tout en ne connaissant pas les bases.

Cela se retrouve également souvent sur des groupes. Il existe de nombreux forums ou groupes Facebook relatifs à PowerShell ou l’administration système. Sur ceux-ci, de nombreuses personnes demandent également des scripts tout faits. La réponse est généralement négative car, s’agissant...

Transformez vos vieux scripts

Si vous avez déjà réalisé des scripts avec Batch, Visual Basic Script (VBS), Python ou autre, une façon simple d’apprendre et comprendre PowerShell est de « convertir » ces scripts en PowerShell, comme évoqué plus haut. D’une part, vous avez créé ces scripts et en connaissez donc par cœur le contenu ; d’autre part, cela vous permettra d’apprendre la correspondance entre les commandes et la syntaxe de vos anciens scripts avec celles de PowerShell.

Vous trouverez dans les chapitres De CMD à PowerShell et De VBS à PowerShell quelques exemples sur la manière de passer de VBS à PowerShell ou encore de Batch à PowerShell.

La clé de la réussite : l’autoformation

Lorsque nous avons commencé à apprendre PowerShell, il n’existait pas réellement de formation sur PowerShell.

Il en existe maintenant quelques-unes, dont celles dispensées chez ENI par Arnaud Petitjean, un des pionniers en matière d’apprentissage de ce langage et premier MVP français en PowerShell.

De manière générale, les formations vous permettent d’acquérir les bases et de vous sentir à l’aise avec ce pour quoi vous êtes venu. L’important derrière est de mettre en pratique ce que vous avez appris ou commencé à apprendre. Sans cela, vous oublierez vite le contenu de votre formation. Pour mettre en pratique et continuer à apprendre PowerShell, Internet est votre meilleur ami et atout. Il existe des centaines (voire milliers) de sites relatifs à PowerShell, astuces, outils, scripts…

La plupart des sites étant en anglais, il sera souvent plus judicieux de préférer les recherches en anglais plutôt qu’en français, même si de nombreuses ressources dans cette langue existent.

Nous verrons dans le chapitre Comment s’améliorer une liste de ressources utiles pour progresser.

Tout est donc à votre disposition pour apprendre, il n’y a plus qu’à vous servir.

Maîtrisez l’anglais technique

Il existe de nombreux sites et forums en français pour obtenir de l’aide. Cependant, cela peut ne pas suffire. Il faudra alors faire une recherche du problème en anglais. En ce qui nous concerne, nous avons pour habitude de toujours rechercher en anglais. Il y aura beaucoup plus de réponses et, parmi elles, des réponses pertinentes.

Automatisez votre quotidien

Nous avons vu dans le chapitre Scripting et automatisation, ce qu’était l’automatisation et quels en étaient les avantages.

Pour apprendre PowerShell, habituez-vous, forcez-vous à automatiser les tâches manuelles que vous effectuez au quotidien.

La moindre petite action peut vous apprendre des choses ou permettre d’acquérir des automatismes :

  • test d’existence de dossier ;

  • création ou suppression de dossiers ;

  • test d’existence de clé de registre ;

  • création ou suppression de clés de registre ;

  • vérification d’évènement dans le gestionnaire d’évènements Windows ;

  • gestion des tâches planifiées ;

  • gestion du système Windows ;

  • création de machines virtuelles ;

  • installation de logiciels.

Tout (ou presque) est automatisable dans l’environnement Windows, et plus particulièrement avec PowerShell.

Essayez de « scripter » un peu tous les jours afin de :

  • ne pas oublier ce que vous avez appris ;

  • rester sur votre lancée et votre soif d’apprentissage.

Ne renoncez jamais

Si vous débutez avec PowerShell et que vous n’avez aucune base, la tâche peut vous sembler ardue. Il faut commencer par le commencement sans sauter les étapes, apprenez déjà les bases. L’apprentissage se faisant au quotidien, il faut prendre l’habitude d’automatiser tout ce que vous faites au quotidien.

Aidez-vous de l’intelligence artificielle

PowerShell est un outil puissant pour l’automatisation des tâches et la gestion des systèmes. Cependant, sa maîtrise peut représenter un défi, surtout pour les débutants.

L’intelligence artificielle, en particulier ChatGPT, offre une assistance précieuse pour apprendre, créer et optimiser des scripts PowerShell.

1. Générer un script complet

Prenons par exemple le cas d’usage suivant :

Nous souhaitons :

  • créer un fichier toto.txt dans l’emplacement suivant « c:\Windows\Temp »> ;

  • vérifier l’existence de ce fichier ;

  • dans le cas où celui-ci n’est pas présent, le créer automatiquement.

Notre prompt dans ChatGPT sera le suivant :

« Je souhaite créer un script PowerShell permettant de créer un fichier toto.txt dans C:\Windows\Temp en vérifiant d’abord si celui-ci existe. »

Ci-dessous le retour de ChatGPT :

images/NR03_01.png

Nous avons donc un bout de code complet permettant de faire ce que l’on souhaite. 

2. Apprendre PowerShell

L’IA vous permet bien entendu de créer un script en partant de zéro. Cependant, il est toujours utile d’apprendre et non de simplement demander à une IA de faire quelque chose à sa place.

L’IA nous permet d’apprendre PowerShell...