Par où commencer ?
Pour ce premier article, j’ai choisi de répondre à une question qui revient régulièrement sous différentes formes :
- “Avez-vous un bon lien pour apprendre PowerShell ?”
- “J’ai commencé sur tel site, mais avez-vous autre chose à me proposer ?”
- “En termes de mise en pratique PowerShell ou de thématique pour découvrir le langage, vous avez quoi ?”
Il n’y a pas de réel chemin tracé, ou encore de source qui surpasse les autres. Cela dépend aussi de vos affinités et préférences en fonction du support.
Personnellement, j’aime assez les livres, papier ou numérique sur une liseuse. J’aime bien entendu la possibilité de pratiquer ou de réfléchir sur certaines problématiques.
En revanche, je suis moins portée sur la vidéo ou encore sur les longs cours numériques (comme on peut en trouver sur certaines plateformes en ligne).
Après à chacun de décider !
Pour cet article, je vais essayer d’être le plus exhaustif possible et vous proposer une variété de support.
Top départ !
Docs PowerShell
Depuis maintenant un certain temps, Microsoft a mis à disposition une documentation détaillée sur les bases (et +) du langage :
On y retrouve la notion d’objet, les structures, l’aide de PowerShell, etc.
Tout ce qu’il faut pour bien débuter avec le langage.
L’aide intégré et ses rubriques About
Une fois que vous aurez compris les bases et commencé à consulter l’aide des commandes, je vous conseille de jeter un oeil aux sections about_*
présentes dans l’aide de PowerShell.
On y trouve des explications sur des concepts ou des thématiques du langage (ex.: Get-Help about_wildcards
).
About
sont en anglais. Elles sont également disponibles en ligne.Le module PSKoans
PSKwa ?
En PowerShell, un module permet de regrouper un certain nombre de ressources (commandes, alias, dll, etc.) exploitables en PowerShell.
Dans le cas de PSKoans, il s’agit d’un module qui regroupe des questionnaires sous forme de scripts PowerShell. L’idée du module est de vous poser des questions sur les mécaniques du langage.
Le lien du projet : PSKoans
Une fois le module installé, vous pouvez lancer un Show-Karma
pour voir quel est votre niveau.
Ensuite, vous rajoutez le paramètre -Contemplate
(ou -Meditate
) pour continuer à répondre aux questions et à progresser.
Une fois que vous avez répondu aux questions et enregistré vos réponses, pour pouvez de nouveau exécuter un Show-Karma
pour voir si vos réponses sont bonnes.
Il faut savoir que la plupart des réponses aux questions sont présentes dans les rubriques d’aides About
.
Pour ceux qui ont un peu plus de budgets
Dans le cas où vous disposez d’un budget formation, soit personnel, soit à travers votre entreprise, vous avez la possibilité d’opter pour différents supports.
La bibliothèque ENI édition
Étant moi-même auteur pour les éditions, je ne peux pas passer à côté. Même si ce n’est pas mon livre que je place en première position pour débuter. :)
Aux éditions ENI, vous trouverez des livres, mais aussi des vidéos. Pour commencer, je vous conseille ceux-ci :
- Le livre sur les fondamentaux de PowerShell
- Les vidéos qui décrivent également les fondamentaux :
PluralSight
PluralSight est une plateforme en ligne accessible sous abonnement (certains cours peuvent se retrouver gratuits). Elle regroupe un grand nombre de vidéos et d’articles sur différentes ressources (pas seulement PowerShell). Petite contrainte, la majeure partie des ressources sont en anglais.
On passe aux choses sérieuses
Maintenant que les bases sont là, on peut partir sur des ressources un peu plus avancées.
La bibliothèque ENI éditions
Pour cette seconde partie, je vous conseille de regarder le livre sur les fonctionnalités avancées que j’ai réécrit (fallait bien le placer à un moment donné :) ) :
Vous y trouverez comment écrire des fonctions avancées, des modules, la création d’un dépôt de module interne, etc. De quoi occuper vos soirées.
Autres éditeurs
Il existe également des ouvrages étrangers écrits en anglais qui sont des mines d’informations. Une fois que vous aurez épluché les livres des éditions ENI, je vous conseille de jeter un oeil aux livres de ces éditions, notamment :
Celui-ci est une valeur sure. Il va plus loin dans les explications et est très fourni (environ 900 pages).
Les éditeurs :
Devenir forgeron
Tout le monde connait le proverbe “Il faut forger pour devenir forgeron!”. C’est bien entendu le cas partout, et c’est d’autant plus vrai quand on parle de l’apprentissage d’une langue ou d’un langage de programmation ou d’administration.
Je conseille souvent aux personnes qui suivent mes formations de pratiquer PowerShell le plus possible. Cela peut être de la simple copie de fichier, création de dossiers, jusqu’à la modification en masse d’un attribut utilisateur dans l’AD (faites des tests avant, c’est mieux…).
Plus vous pratiquerez, plus le langage vous sera familier et moins vous mettrez de temps à faire ce que vous voulez. Surtout le jour où vous en aurez le plus besoin.
Si jamais vous manquez d’imagination pour pratiquer PowerShell, pas de panique. Je vais vous présenter trois plateformes où vous pourrez trouver de l’inspiration, voir un peu de frustration….
Code Golf
Code Golf est une plateforme en ligne qui vous pose des problèmes à résoudre par un script. Différents langages sont disponibles, et heureusement pour nous, PowerShell en fait partie. Le but étant de répondre aux problèmes avec le moins de caractères possible. Pour publier et apparaitre dans le classement, il vous faudra un compte sur la plateforme GitHub.
IronScripter Challenge
La plateforme IronScripter publie régulièrement des challenges avec des problématiques à résoudre. Vous pouvez opter pour des problèmes débutant ou avancé. Les participants publient eux-mêmes les réponses en commentaire. Cela vous permet également de jeter un oeil aux pratiques des autres.
PowerShell Scripting
Le forum PowerShell Scripting est le premier forum français orienté PowerShell à avoir vu le jour. Vous y trouverez des postes de personnes ayant une problématique sans pour autant trouver euw-même la réponse. C’est un bon moyen de progresser, soit en cherchant la réponse, soit en comprenant la ou les réponses qui ont permis de répondre à la problématique.
GitHub
GitHub est un énorme dépôt communautaire qui regroupe les projets de tout horizon, pas spécifiquement PowerShell. On peut donc trouver des montagnes de code PowerShell à explorer qui vous apprendront énormément sur l’écriture du langage.
La communauté
Pour terminé ce poste, je vais vous parler du French PowerShell and DevOps User Group. Il s’agit d’un groupe de PowerSheller français.
Depuis 2016, les organisateurs ont mis en place des évènements en ligne pour discuter de PowerShell et de tout ce qui gravite autour. Chaque année, une conférence en présentiel est également organisée (sauf 2020, COVID oblige).
Les membres du groupe sont présents sur les plateformes de discussion Slack et Discord. Il existe un pont entre ces deux plateformes, on peut ainsi communiquer avec les personnes présentes sur Slack si on est sur Discord, et inversement. On discute ainsi en temps réel sur les problématiques, évolutions et différentes découvertes PowerShell que l’on fait.