Comment commencer à apprendre PowerShell ?
« Oui, je connais un peu PowerShell » est peut-être l’une des déclarations les plus fréquemment utilisées lors des conférences techniques au fil des ans. Il n’y a pas beaucoup d’affirmations qui peuvent être aussi minimisées ou exagérées.
Certains de ceux qui disent cela sont assez humbles, même s’ils connaissent probablement assez bien PowerShell. D’autres ont tendance à penser que connaître PowerShell revient à savoir comment l’utiliser. Pour ceux qui ne savent pas comment l’utiliser, qui est toujours une partie importante de l’équipe de support et d’ingénierie des systèmes, il peut être assez décourageant de penser par où commencer à utiliser PowerShell en premier lieu. Vous avez entendu d’innombrables discours techniques, lu des pages d’articles et beaucoup parlé avec des collègues de tout ce qu’il peut faire pour vous. Vous regardez cette montagne en pleine croissance et tout ce que vous pouvez faire est de vous concentrer sur le sommet et l’évidence vous échappe lorsqu’il s’agit de planifier comment atteindre ce sommet. Cette première étape est juste devant vous, au pied de la montagne.
Vous ne savez peut-être rien de PowerShell, et ce n’est pas grave.
Mettons ça de côté. Si vous ne connaissez pas PowerShell, c’est parfaitement bien. C’est bien si vous connaissez PowerShell, mais vous pouvez avouer si vous ne l’avez jamais utilisé. Hocher la tête en accord lors de discussions avec des pairs et ajouter PowerShell à votre CV pour vous donner un avantage peut devenir une réalité beaucoup plus rapidement que vous ne le pensez. Chacun a sa propre histoire PowerShell, et votre histoire sera aussi unique que votre voyage dans le monde du support informatique et de l’ingénierie. Vous n’avez nulle part où aller, mais en haut!
Selon Microsoft Docs , « PowerShell est une solution d’automatisation des tâches multiplateforme qui se compose d’un shell de ligne de commande, d’un langage de script et d’un cadre de gestion de la configuration. PowerShell fonctionne sur Windows, Linux et macOS. » L’objectif de cet article sera strictement la partie shell de PowerShell et se concentrera sur cela. D’autres aspects deviennent un peu plus clairs à mesure que vous gagnez en expérience avec le shell PowerShell.
Microsoft a développé PowerShell et améliore constamment PowerShell pour interagir avec les systèmes d’exploitation de bureau Windows, les systèmes d’exploitation Windows Server, les ressources Office 365 et les ressources cloud Azure. Il deviendra une partie intégrante de presque tout l’univers des produits Microsoft. PowerShell permet aux ingénieurs et au personnel d’assistance de gérer leurs responsabilités plus efficacement en permettant la création et la modification en bloc de ressources telles que des fichiers, des dossiers, des paramètres et des configurations. Il est surtout connu pour sa nomenclature unique et conviviale de verbes et de noms d’applet de commande, prononcée « commande ». Les applets de commande sont les commandes réelles utilisées pour effectuer certaines actions dans PowerShell. Certaines applets de commande peuvent être exécutées exactement telles quelles, sans définir de paramètres. Vous les saisissez, appuyez sur Entrée et BOOM ! Vous avez la sortie qui vous est donnée dans la console. Si vous connaissez l’invite de commande Always Faithful dans un environnement Windows, vous vous sentirez très à l’aise avec PowerShell. La plupart des commandes que vous exécuteriez normalement à l’invite de commande peuvent également être exécutées à partir de la console PowerShell. Quoi qu’il en soit, essayez-le la prochaine fois que vous utiliserez normalement la ligne de commande. Découvrez comment il peut faire la même chose dans une console PowerShell. essayez-le la prochaine fois que vous utiliserez normalement la ligne de commande. Découvrez comment il peut faire la même chose dans une console PowerShell. essayez-le la prochaine fois que vous utiliserez normalement la ligne de commande. Découvrez comment il peut faire la même chose dans une console PowerShell.
Ouvrir le voile de l’interface graphique
La plupart des gens aiment leur précieuse interface graphique. Ils peuvent voir tout ce qu’ils pensent avoir besoin de voir, et ils ressentent cette sensation chaleureuse et floue lorsqu’ils cliquent sur Appliquer, puis sur OK. Certains d’entre eux aiment vivre sur le fil du rasoir et ne pas appuyer du tout ! Après tout, au fur et à mesure que vous approfondissez la gestion des serveurs, des postes de travail ou d’Exchange, vous vous retrouverez à cliquer sans cesse lorsqu’une modification doit être apportée nécessitant l’ajout de 360 utilisateurs à 20 groupes de sécurité Active Directory différents. Êtes-vous prêt pour ce cauchemar irrésistible ?
Il est sûr de dire que PowerShell aide à lever le voile sur une interface graphique précieuse et bien-aimée. PowerShell vous permet de relever le défi de regrouper les utilisateurs AD en plusieurs groupes et de développer plusieurs commandes pour faire le travail en une fraction du temps qu’il faudrait pour le faire via une interface graphique. La beauté est que Microsoft veut que vous utilisiez PowerShell pour ces tâches. Avec l’accent mis sur l’utilisation de PowerShell dans de nombreux examens de certification de base de Microsoft, ce n’est plus seulement pour les administrateurs expérimentés, mais devient de plus en plus nécessaire dans votre boîte à outils de support quotidien. Avec une précision suffisante, nous pouvons dire que toute action, bouton, option ou configuration que vous voyez dans l’interface graphique,
Premiers pas
Commençons par quelques applets de commande que vous pouvez utiliser dès maintenant si vous lisez ceci sur un PC Windows. La console des services est une chose avec laquelle la plupart des administrateurs système et des ingénieurs interagissent. Si vous ouvrez une console PowerShell, Get-Service
tapez simplement et appuyez sur Entrée pour obtenir une liste des services installés. Vous obtiendrez un aperçu rapide de tous les services installés sur le système local et de leur état actuel (En cours d’exécution ou Arrêté). Cette sortie serait pratique pour voir si un service d’application particulier est en cours d’exécution ou non.
Vous n’avez peut-être pas besoin de toute la liste des services et vous recherchez un service spécifique. Supposons que vous souhaitiez vérifier si le service de spouleur d’impression est en cours d’exécution. Vous pouvez l’appeler par son nom en utilisant le paramètre -ServiceName comme ceci :
Get-Service -ServiceName spooler
Cette sortie vous donnera une liste unique du service de spouleur d’impression et son état. Supposons qu’un service soit en cours d’exécution ou arrêté et que vous souhaitiez l’arrêter ou le démarrer. Vous pouvez utiliser l’entrée suivante pour arrêter/démarrer le service de spouleur d’impression :
Start-Service -ServiceName spooler
Spouleur Stop-Service -ServiceName
Par défaut, ces lignes n’affichent pas l’état du service lorsque la commande est envoyée. Vous devrez exécuter Get-Service -ServiceName spooler
pour afficher l’état actuel.
Heureusement, PowerShell est très convivial pour les caractères génériques lors de la liste des objets et des noms. Supposons que vous ayez besoin de consulter un service particulier, mais que vous ne sachiez pas exactement comment il s’appelle « officiellement ». Vous savez seulement que le premier mot a été supprimé. C’est simple:
Get-Service -ServiceName remote*
Cette entrée listera tous les services, en commençant par à distance, et vous permettra d’affiner votre recherche pour trouver le service spécifique que vous recherchez et prendre les mesures dont vous avez besoin. N’oubliez pas qu’il existe également l’applet de commande Restart-Service.
Pour aller plus loin dans cette petite connaissance des services, examinons les services sur une machine distante. Supposons que vous êtes dans un environnement de domaine Windows et que vous disposez d’un accès administratif aux ordinateurs distants que vous gérez. Vous pouvez utiliser les mêmes applets de commande décrites précédemment, mais vous devez ajouter un paramètre et une valeur. Pour vérifier le service de spouleur d’impression sur un serveur distant nommé PrintServer01 :
Get-Service -ComputerName PrintServer01
Cette sortie listera tous les services installés sur la machine distante, tout comme sur le système local que nous avons fait précédemment. Cette applet de commande vous évite d’avoir à utiliser RDP pour vous connecter à un serveur distant afin de tester un service ou d’ajouter le serveur distant à votre composant logiciel enfichable MMC local. Cette capacité en elle-même est très vite payante.
Une autre commande qui peut être utilisée directement, sans paramètres, est Get-NetIPAddress. Cette applet de commande vous donnera une liste de tous les adaptateurs réseau sur le système local et de nombreuses informations sur chaque adaptateur. Dans cette sortie, vous pouvez voir le fonctionnement interne de l’interface graphique. Vous pouvez voir beaucoup plus d’informations sur les choses que vous verriez normalement sous forme d’icône dans l’interface graphique. La beauté de l’affichage d’informations supplémentaires est que vous pouvez toujours utiliser PowerShell pour traiter et rechercher des informations supplémentaires. Par exemple, si vous souhaitez apporter des modifications à des adaptateurs réseau spécifiques, vous ne pouvez rechercher ou filtrer que ceux qui ont une valeur spécifique. Les possibilités sont infinies!
Où en savoir plus
Maintenant que vous avez le strict minimum de ce que PowerShell a à offrir, c’est à vous de continuer à gravir la montagne dont nous avons parlé plus tôt. Mettre un pied devant l’autre est aussi simple que de parcourir certaines ressources pour obtenir des conseils PowerShell. Une simple recherche Google pour l’applet de commande est un bon début. Microsoft Docs dispose d’une bibliothèque puissante pour chaque applet de commande individuelle, avec de nombreux exemples d’utilisation. PowerShell lui-même est une bonne source d’explications et d’exemples. La commande Get-Help Get-Service
vous donnera plus d’informations sur notre exemple ci-dessus.
Une ressource dont de nombreux utilisateurs expérimentés de PowerShell se souviennent est le livre le mieux noté de Don Jones et Jeffrey Hicks. Ces géants de PowerShell possèdent les épaules sur lesquelles beaucoup s’appuient lorsqu’il s’agit de conquérir le mont PowerShell. Le livre s’appelle Apprendre Windows PowerShell en un mois de déjeuners. Ce livre facile à lire vous explique les bases de PowerShell en petits morceaux et constitue finalement la ressource vers laquelle vous vous tournerez constamment lorsque vous vous retrouverez dans une situation où vous devrez utiliser PowerShell.
La communauté PowerShell est également un lieu d’apprentissage très ouvert et utile. Le subreddit r/PowerShell et PowerShell.org ont une communauté très florissante de personnes de tous niveaux. Vous pouvez toujours obtenir des conseils de ces ressources. Vous ne pouvez pas gravir cette montagne si vous ne faites pas de pas, alors mettez-vous au travail et voyez comment PowerShell peut vous aider dans les tâches quotidiennes banales et banales que vous redoutez parfois. Vous pourriez vous retrouver dans une frénésie de planification et d’automatisation d’une grande partie de votre charge de travail afin d’avoir le temps d’en savoir plus sur PowerShell !
Laisser un commentaire