Command Prompt vs. Powershell – le guide du débutant Première partie

Powershell a été présenté par Microsoft pour la première fois avec Windows 7. Il s’agit d’un langage script constitué d’un ensemble de commandes donnant des instructions aux systèmes d’exploitations. Ces scripts sont considérés davantage des programmes à part entière plutôt que des fichiers batch. Ils se distinguent donc de Command Prompt (CMD) ou l’invite de commande en français, également logiciel d’interprétation de commandes mais beaucoup plus lent et aux fonctionnalités limitées.

 

Nous allons donc dans cet article détailler les différences entre Command Prompt et PowerShell et comment ce dernier s’articule pour automatiser les tâches d’administration.

 

1.Qu’est-ce que PowerShell ?

 

PowerShell est donc un ensemble de scripts de commandes qui va permettre l’automatisation de certaines tâches. Comme son nom l’indique, c’est un shell c’est-à-dire un programme qui reçoit des commandes informatiques données par un utilisateur pour les envoyer au système d’exploitation qui les exécutera par la suite.

 

PowerShell comprend 3 éléments : un programme de commande, un langage de script ainsi que le .NET framework, un ensemble d’interfaces de programmation d’application et une bibliothèque partagée de code que les développeurs peuvent utiliser lors du développement d’applications, afin de ne pas avoir à écrire le code à partir de zéro.

 

Tous ces éléments réunis offrent aux MSP et autres professionnels informatiques des outils qui leur permettent d’automatiser une grande partie de leurs tâches quotidiennes, tout en fournissant une série de fonctionnalités.

 

Pour rendre les .NET frameworks plus accessibles, PowerShell intègre des cmdlets (prononcez « commandes »), des scripts PowerShell qui intègre une fonction unique.

 

PowerShell s’intègre également facilement avec le Component Object Model (COM), un standard permettant de développer des API.
Cela permet de développer des scripts PowerShell plus complexes, capables de faire appel à de nombreux autres programmes Windows pour échanger des données, émettre des commandes et recevoir des informations en retour, ce qui est très utile pour les développeurs d’applications qui utilisent PowerShell.

 

L’interface de WMI (système de gestion interne de Windows) intégrée à PowerShell est beaucoup plus intéressante pour les techniciens informatiques. Les outils de Windows Management Instrumentation (WMI) sont mis à disposition sous forme de cmdlets. Ainsi, il est possible de consulter les statuts d’un périphérique ou d’un service fonctionnant sur Windows et d’incorporer les résultats dans un script PowerShell.

Il s’agit d’un état des lieux très utile de la gestion des conditions et des branches dans un script. C’est également un bon moyen d’évaluer le succès ou l’échec d’une étape d’exécution.

 

2. PowerShell vs. CMD

 

Les commandes DOS sont toujours très utiles pour se déplacer dans le système d’exploitation et effectuer des tâches de base. L’insertion de commandes DOS dans un script pour obtenir une série de tâches exécutées ensemble reste également un moyen très courant de créer un utilitaire personnalisé. Les scripts sont souvent utilisés pour séquencer des tâches d’administration standard afin qu’elles puissent être exécutées en dehors des heures de travail, à un horaire régulier.
La grande majorité des opérateurs et utilitaires de ligne de commande DOS sont disponibles dans PowerShell. Cependant, l’accès que PowerShell a à WMI et à d’autres systèmes le rend beaucoup plus puissant et pertinent. PowerShell est en quelque sorte une version améliorée de DOS.

 

3. Quand est-ce qu’utiliser PowerShell ?

 

Si vous ne savez pas par où commencer pour déployer PowerShell pour la première fois, commencez par utiliser l’un de vos travaux par lots (job batch) existants et voyez comment inclure des cmdlets PowerShell pour en améliorer le fonctionnement.

 

“Ah, si seulement je pouvais…” est le souhait qui revient le plus souvent lors de l’élaboration d’un script simple pour un traitement par lots. Les capacités pertinentes de PowerShell peuvent permettre de réaliser cela.

Le problème que rencontrent la plupart des gens lorsqu’ils utilisent PowerShell est que c’est un programme très vaste. On peut vite se laisser dépasser même avec suffisamment d’expérience.
Ne voyez pas PowerShell comme une menace pour votre routine, mais plutôt comme un réel avantage. Apprenez-en un peu plus à chaque fois et vous verrez que bientôt les cmdlets PowerShell deviendront aussi familiers que les commandes DOS.

 

4. PowerShell est-il nuisible ?

 

Comme tout langage de script, PowerShell peut être utilisé pour des activités malveillantes sur les ordinateurs. On trouve déjà sur Internet de nombreux malwares et autres vers informatiques qui utilisent des routines et commandes PowerShell.

 

Pour combattre certaines de ces menaces, Microsoft a introduit des fonctionnalités dans l’environnement PowerShell, l’une d’entre elles étant les politiques d’exécution.
Ces politiques permettent aux administrateurs de contrôler les scripts qui peuvent être exécutés sur un système.

 

La politique par défaut n’autorise pas l’exécution de script, mais il existe des options permettant d’exiger que les scripts soient signés par un éditeur de confiance et de les exécuter sans restriction, permettant alors à n’importe quel script de s’exécuter.

 

Cet article était une introduction à PowerShell. Il est le premier d’une série de guides sur le fonctionnement de PowerShell et sur la façon dont vous pouvez l’utiliser. Dans les prochains articles, vous obtiendrez des instructions pratiques sur la façon d’utiliser PowerShell et comment le combiner avec l’outil PSA d’Atera. Vous aurez également des exemples de scripts PowerShell et les cmdlets les plus couramment utilisés.