Question
Ressources pour apprendre PowerShell
- Cesar48
- Auteur du sujet
- Hors Ligne
- Nouveau membre
- Messages : 1
- Remerciements reçus 0
Connexion ou Créer un compte pour participer à la conversation.
- Fabien
- Hors Ligne
- Membre premium
- Messages : 144
- Remerciements reçus 22
Powershell est un langage orienté objet qui permet l'automatisation de tâches d'administration informatique.
Powershell est maintenant cross plateformes, ce qui a l'avantage de s'appliquer sous Windows, Linux ou Mac.
En inconvénient, la méthode pour faire des scripts Powershell est différent du Shell par exemple.
En Shell, on tape des commandes successives dans un fichier texte.
Pour utiliser le plein potentiel de Powershell, il faut comprendre l'intérêt de l'orienté objet et s'adapter.
J'utilise Powershell au quotidien en tant qu'administrateur Système et Réseau pour automatiser et aussi simplifier l'exécution de tâches répétitives et fastidieuses.
J'ai fait entre autre, un script pour la création d'utilisateur par le service support avec une interface graphique.
Ce script permet de vérifier si l'utilisateur existe déjà, il créé le compte dans l'AD, créé une adresse mail.
En fonction du service où se trouve l'utilisateur, il va lui attribuer des droits sur les serveurs de fichiers.
Ensuite le script envoie un mail de récap avec toutes les informations de l'utilisateur.
En livre, je peux te conseiller les livres d'Arnaud PETITJEAN aux éditions ENI.
Sinon sur le site de Microsoft, tu peux trouver les bases en Powershell.
J'espère que tu t'amuseras autant que moi à faire des scripts Powershell.
Fabien
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
- Messages : 6302
- Remerciements reçus 68
>>Je voudrais savoir quels sont les meilleurs ressources, tutoriels, livres ou sites pour apprendre les bases et les astuces de PowerShell.
Le livre d'Arnaud est facile d'accès mais à une durée de vie 'courte', celui de Bruce Payette (Powershell in Action) est d'un accès moins aisé mais a un durée de vie plus longue (on le relit souvent). Si tu as les moyens, ou ton entreprise, achète les deux.
Pour les tutos tu peux déjà lire celui-ci , rédigé à partir de document de MS.
J'en ai écrit d'autres ici , la plupart ne sont pas pour débutant mais les sujets important sont rarement bien traité ou ceux qui le faisaient n'existe plus.
>>Quels sont les avantages et les inconvénients de PowerShell par rapport à d'autres langages de script ?
Il est codé en langage C# qui utilise le framework dotNet, ce qui lui permet, entre autre, l'appel d'APIs système sous Windows (<v5.1) ou Linux pour la version Core (>6.0).
Comme inconvénient son principal défaut est qu'il a des comportement spécifiques parfois pénibles, voir 'étrange'. Il y a donc des jours où il est très utile et facile d'utilisation et d'autre où tu as envie de le mettre à la benne...
>>Quels sont les domaines d'application les plus courants ou les plus intéressants de PowerShell ?
Dés qu'un produit, nécessitant des tâches d'administration propose des cmdlets Powershell, il est bien de savoir comment les utiliser.
J'ai utilisé principalement des cmdlets de produit MS, un peu de WMWare.
Ceci dit la connaissance des objets que Powershell permet de manipuler est nécessaire, connaitre les cmdlet SCCM ne fait pas de toi un admin SCCM, pareil pour Exchange ou l'AD.
De Fabien D :
>>Powershell est un langage orienté objet.
Ouai on va dire ça
Cela reste une adaptation des principes de la POO.
Mes conclusions dans letuto sur les classe précédement cité :
La possibilité de mixer du code Powershell et des classes facilite l’écriture et évite l’apprentissage d’un nouveau langage, il s’agit bien de classe dot Net, mais c’est un wrapper construit autour d’un assembly dynamique.
Pas de doute, la mécanique interne est remarquable, mais pour moi cela reste une adaptation des principes de la POO sous Powershell, cela me fait penser à une classe du type :
PowerShell : IJob, IEvent, IClass
C’est bien de la POO, mais elle a peu à voir avec les capacités de langages moderne tels que C#, Python, Delphi, etc. Ce qui engendre une certaine frustration.
L’impossibilité de créer des membres privés et des accesseurs est regrettable, tous les membres sont public, le mot clé Hidden masque un membre, mais ne le protège pas.
Pour le moment, comme nous avons pu le voir autour de l’exemple sur l’indexeur, il faut parfois combiner du C# et du PS tout en s’appuyant sur ETS pour annuler des comportements de Powershell !
Une amélioration serait appréciée
Rien de bien compliqué pour quelqu’un connaissant les principes de la POO, sous réserve de connaitre certains de ses comportements, en revanche pour qui ne les connait cela peut s’avérer ardu de les aborder avec Powershell.
Par exemple comment expliquer le concept d’interface sans pouvoir en créer ? Celui de propriété sans possibilité d’implémenter des accesseurs ? Ou encore celui de modificateurs d'accès quand tout est public ?
Ceci dit, l’apprentissage des classes pour un usage simple, comme vue dans le premier chapitre, n’est pas en soi insurmontable.
De Fabien D :
>>Powershell est maintenant cross plateformes, ce qui a l'avantage de s'appliquer sous Windows, Linux ou Mac.
Effectivement, mais les breaking change entre la version Core et Windows sont mal documentés et impliquent des portions de code spécifique à chaque plateformes.Du coup chacun les (re)découvre. Enfin certains cmdlet de produit MS n'ont pas encore été portés, il est donc cross plateformes mais pas tout le temps
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- FLAHAUT Samuel
- Hors Ligne
- Nouveau membre
- Messages : 18
- Remerciements reçus 0
Possible sur d'autres plateformes mais avec quelques adaptations.
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
Tout d'abord merci à Samuel ainsi qu'à Laurent pour la recommandation de mes livres et en particulier celui-ci qui sera parfait pour démarrer ton apprentissage de PowerShell.
Les tutos de Laurent sont tops mais ils sont peut-être d'un niveau un trop élevé pour toi pour le moment et ça pourrait t'effrayer .
Par ailleurs, si tu peux te le permettre (ou si ton employeur peut te le permettre), je te recommande de suivre une formation au sein d'un centre de formation, par exemple le mien : Start-Scripting, voir les programmes . Ou alors de suivre mon programme de formation hybride lorsqu'il réouvrira ses portes (très prochainement).
Arnaud
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Discussions générales
- Ressources pour apprendre PowerShell