Scripting

Envie d’apprendre Powershell ?

[17-12-2014] – Ça y est, j’ai (enfin) pris le temps de rédiger une petite série de tutoriel pour vous accompagner dans l’aventure Powershell. Vous pouvez les consulter sur le site d’IT-Connect :

  • Powershell pour les débutants (1ère partie) : Dans ce premier article, je vous présente les bases pour bien débuter en commençant bien sur par la console (ou $Host), puis la des applets de commandes “cmdlet”, les variables Powershell et d’environnement, le pipeline et les incontournables commandes de “Découverte” que sont “Get-Help”, “Get-Command” et “Get-Member”
  • PowerShell pour les débutants (Partie 2) : Dans ce second article, vous verrez comment exploiter quelques facettes “pratiques” de Powershell, telles que la gestion des stratégies d’exécution, le dot-sourcing, les profils, et la gestion à distance
  • Powershell pour les débutants (3ème partie) : Dans ce troisième volet, je vous présente quelques notions sur les instructions, les opérateurs, les blocs de code et les fonctions, ainsi qu’un survol de l’éditeur graphique Powershell ISE
  • Powershell pour les débutants (4ème partie) : Dans ce quatrième et dernier article, j’aborde les concepts les canaux ou flux (stream) d’une commande, la gestion (basique) des erreurs et les variables dédiées, ainsi que les instructions “Trap”, “Throw”, “Try” ,”Catch” (et “Finally”). Et pour finir sur une note plus “ludique”, j’aborde la gestion des couleurs soius Powershell.

Vous avez dit Powershell ?

Après une longue mission de plus d’un an, riche d’enseignements et d’expériences de terrain, me voici de retour à ma vocation, la (in)formation pratique. Mais en attendant mes prochains billets sur le scripting, je vous invite à vous lancer dans l’aventure Powershell sans plus tarder 🙂

En fait, je suis persuadé qu’être technicien informatique est un métier cool pour qui veux s’en donner la peine 😉 – En fait, toute tache répétitive est fastidieuse et risque d’erreur. Et puis franchement, même si je n’ai rien contre le copier/coller, reconnaissez qu’utiliser uniquement 4 touches [Ctrl]+[C/V/X], sur un clavier qui en possède plus de 100, ce n’est pas très glorieux :oups: .

Mais qui d’autre que vous, connait votre véritable besoin, pour soulager vos problématiques quotidiennes et autres “rhumatismes informatiques”. Avez-vous déjà estimé le temps et le coût d’un développement d’outil parfaitement adapté qui vous ferait gagner du temps ? (Le temps ,l’argent, tout est dit ?)

1ère solution, Googoliser votre cerveau   👿  et trouver avec un peu de chance, l’outil (de préférence gratuit) qui fera votre boulot. (Des années d’études pour en arriver là ?!, pas très grandiose comme démarche, non ?!)

Allez , j’argumente mes propos avec un brin d’historique.

“A l’origine des langages sous Windows, il y avait le batch (prises de tête garanties dès qu’il s’agissait élaborer un truc plus complexe qu’un simple dir) – Heureusement, la communauté Internet fourmille d’exemples et de tutos sur ces possibilités peu et mal documentées (cf robvanderwoude 🙂 entre autres)

Avec Vista, et même un peu avant, (Non, non, je n’évoquerais pas les débuts “poussifs” de cette génération Windows ) le projet MONAD (alias Powershell) a vu le jour. cf Wikipedia

Bien que perfectible, cette première mouture d’un “véritable Shell Windows“, n’avait rien à envier à son ancestral interpréteur de commande CMD, et n’en déplaise aux linuxiens, faisait figure d’une véritable révolution dans ce monde dédié aux fenêtres et autres interfaces graphiques.

“Pourquoi , me direz-vous, après tout ce n’est qu’un interpréteur de plus”, et il existe bien d’autres outils alternatifs tels que KIXtart, le VBS, AutoIT, etc…

La première chose à savoir, ou à admettre, c’est que Powershell ne vous affranchira pas d’une certaine maitrise du système, voir même qu’il vous ouvrira probablement les portes d’un monde méconnu, plein de richesses (et de surprises).

Avec Windows 7 (alias Seven), le Powershell v2 est arrivé (A mon humble avis, une version très aboutie, pleine de retour d’expérience et de ressources) – Sans compter la rétroactivité d’installation été d’usage sur le défunt Windows XP – RIP Snif (Hein, comment ça, il n’est pas mort ?)

Personnellement, depuis XP, j’usais et abusais de la console WMIC (Tiens donc, vous ne connaissiez pas ?…) pour un bon nombre d’opérations et récupération d’informations dans le système (Bios, MSI, SID, Services, Modèle de PC, etc…) – Maintenant, avec Powershell, mon nouvel ami s’appelle GWMI ou Get-WMIObject

En substance, avec, je l’avoue, un petit côté Geek, j’ajouterais que pour bien débuter avec le langage Powershell, Maitre Yoda vous dirait…

–          “Les réflexes DOS, oublier, tu devras
Désapprendre ou perdre vos réflexes de l’invite de commande à Prenez l’habitude d’ouvrir une console Powershell – attention aux pièges des alias (dir, where, type…) – C’est un peu comme dans le slogan publicitaire de “Canada Dry “, ça y ressemble, mais ce ne sont pas les commandes auxquelles vous pensez…

–          “Progressivement en code natif Powershell, coder, tu penseras
Au début, ne cherchez pas à tout coder en langage natif – vous y viendrez avec le temps et l’expérience…. (Il est tout à fait possible de mélanger du code batch ou un script vbs dans un script PShell)

–          “A user de l’aide intégrée, tu apprendras.
Exploitez d’abord les facultés d’autoapprentissage et le potentiel de la console avec gcm, gm, help mot -example (Google après ;-)…)

–          “Tes propres fonctions et outils, progressivement, tu fabriqueras
Ne cherchez pas à élaborer des scripts complexes au début, privilégiez les petits blocs de code (ie fonctions) réutilisables. Pensez au “Dot Sourcing” (Derrière ce nom barbare se cache un truc tout simple, un point, un espace, le nom complet ou relatif de votre script ” . .\MesFontions.ps1″ et toutes les fonctions contenues dans celui-ci seront disponibles dans la console. (A l’instar du profil $PROFILE)

–          “Rapidement de tes efforts, récompensé, tu seras

Que la force Powershell soit avec toi, jeune padawan 😛

PS-Yoda

A propos de l’auteur :

En ce qui me concerne, si cela vous rassure, (je l’espère), je ne suis pas issu des grands crus de développeurs. En fait, je pense que c’est un atout du fait que je m’exprime avec les mots et le pragmatisme d’un technicien ou d’un administrateur Windows, sans m’étendre sur les concepts souvent abstraits des objets de programmation et la jungle du framework .NET.

Ma devise : La connaissance est un bien précieux qui n’a de valeur que si on la partage, et j’en ai fait mon métier

Et comme disait le célèbre Albert Einstein, “La seule source de connaissance c’est l’expérience”, donc à vos claviers et lâchez un peu votre souris 🙂  Lancez-vous, l’erreur est pédagogique et le ciment de la connaissance. (et pour ceux qui détestent le rouge des erreurs Powershell

$Host.PrivateData.ErrorForegroundColor = 'magenta'

et votre quotidien sera plus rose  😆 .

Salutations

Christophe


Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Apprenez comment les données de vos commentaires sont utilisées.