Blog ENI : Toute la veille numérique !
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
En raison d'une opération de maintenance, le site Editions ENI sera inaccessible le mardi 10 décembre, en début de journée. Nous vous invitons à anticiper vos achats. Nous nous excusons pour la gêne occasionnée
  1. Livres et vidéos
  2. Windows Server 2019
  3. PowerShell
Extrait - Windows Server 2019 Les bases indispensables pour administrer et configurer votre serveur (2e édition)
Extraits du livre
Windows Server 2019 Les bases indispensables pour administrer et configurer votre serveur (2e édition)
11 avis
Revenir à la page d'achat du livre

PowerShell

Introduction à PowerShell

PowerShell est une plateforme permettant l’exécution de scripts, il a également la fonction d’interpréteur de commandes.

1. Présentation de PowerShell

Cette plateforme n’a cessé de s’enrichir et offre une multitude de jeux de commandes. Les commandes DOS peuvent également être utilisées avec la console PowerShell et ce à l’aide des alias (get-alias pour avoir la correspondance).

Depuis Windows Server 2008 R2 et Windows 7, PowerShell est directement intégré au système d’exploitation. Pour les plus anciens (Windows Vista, XP, 2008…), il est nécessaire de procéder à une installation. Notons également que certaines applications (par exemple : Microsoft Deployment Toolkit) nécessitent obligatoirement la présence de la plateforme PowerShell pour fonctionner.

2. La console PowerShell

La saisie des différentes commandes s’effectue par le biais de la console PowerShell. Cette dernière a un aspect graphique très proche d’une invite de commandes DOS.

images/New_18RI01.PNG

L’autocomplétion d’un chemin, d’un nom de commande, etc. peut s’effectuer à l’aide de la touche [Tab]. Pour rappel, l’autocomplétion consiste à saisir le début d’une commande ou d’un chemin, le système tente de compléter...

Aide avec PowerShell

Nous avons tous à un moment donné saisi le fameux /? dans une console DOS, ceci nous permettant de récupérer la syntaxe de la commande et un descriptif des différents commutateurs.

Avec PowerShell, la syntaxe est quelque peu différente. En effet, l’aide s’affiche en saisissant l’instruction help commande.

images/New_18RI03.PNG

Les fichiers d’aide peuvent aisément être mis à jour. Il est néanmoins nécessaire d’avoir des droits d’administrateur et de lancer la console en tant qu’administrateur.

Une connexion Internet est également nécessaire.

Cette opération s’effectue avec la commande update-help.

images/New_18RI04.PNG

Cette mise à jour concerne uniquement les fichiers de la langue utilisée et du module actif. Si vous souhaitez mettre à jour le module dism alors que le module actif est AppLocker, il faut rajouter à la commande précédente le commutateur -Module dism.

images/New_18RI05.PNG

Il est possible de déposer les fichiers d’aide sur un partage réseau afin que les postes qui ne sont pas raccordés à Internet puissent profiter de la mise à jour. L’opération va cette fois être scindée en deux parties (copie des fichiers sur un partage réseau et mise à jour des postes depuis ce partage réseau).

Pour effectuer cette opération, l’instruction...

La syntaxe PowerShell

Une commande est constituée d’un verbe et d’un nom séparés par un tiret (-). Le verbe a pour but de décrire l’action effectuée :

  • Get (obtenir une information)

  • Set (effectuer une action)

  • Add...

Le verbe est complété par un nom (Acl, etc.). Ce dernier constitue la commande.

Comme pour les commandes DOS, l’analyse de la syntaxe PowerShell n’est pas sensible à la casse.

1. Les commentaires

Comme dans tous langages de programmation, il est possible de placer des commentaires dans les scripts.

Pour différencier une instruction d’un commentaire, il faut utiliser le caractère dièse "#" en début de ligne. Ainsi la ligne est considérée comme commentaire.

De plus, l’ajout de commentaire après l’instruction peut être effectué.

images/New_18RI06.PNG

Pour commenter un bloc entier, une syntaxe particulière doit être utilisée.

Les caractères <# doivent être insérés au début du bloc de commentaire puis, afin d’en marquer la fin, on insère les caractères #>.

images/New_18RI07.PNG

La ligne mise en commentaire ne sera pas prise en compte par l’interpréteur de commandes. 

2. Les guillemets

Il est nécessaire de délimiter les chaînes de caractères, ceci afin d’aider la compréhension de la syntaxe par l’analyseur...

Les boucles avec PowerShell

Les boucles sont très utiles dans un langage de programmation pour exécuter x fois une même action.

1. La boucle While

Ce type de boucle permet de répéter les instructions présentes dans la boucle tant que la condition est vérifiée (vraie).

Cette boucle s’écrit de la manière suivante :

While condition 
{ 
Instruction1 
Instruction 2 
... 
} 

2. La boucle Do-While

Ce type de boucle est identique à la précédente, néanmoins le test est effectué à la fin.

La syntaxe est la suivante :

Do 
{ 
Instruction1 
Instruction 2 
... 
} 
While condition 

La boucle est obligatoirement exécutée au moins une fois, le test s’effectuant à la fin.

3. La boucle For

Ce type de boucle offre l’avantage de pouvoir déterminer le nombre de fois où le bloc d’instructions doit être exécuté. L’exécution est effectuée tant que la valeur indiquée au départ n’est pas atteinte. Le pas d’incrémentation est également déclaré.

La syntaxe de ce type de boucle est la suivante :

For (<Valeur Initiale> ; <Condition> ; <Increment>) 
{ 
Instruction 1 
Instruction 2 
} 

PowerShell V5

Avec l’arrivée de Windows Server 2016, une nouvelle version de PowerShell a vu le jour. Cette section présente quelques-unes de ces nouveautés.

Une nouvelle cmdlet, Write-Information, a été ajoutée. Elle permet de spécifier comment les flux d’information pour une commande sont traités. Les paramètres InformationVariable et InformationAction permettent de déterminer la manière dont les flux d’information sont affichés.

Il est maintenant possible de gérer les archives. En effet, un nouveau module le permettant a été intégré à la plateforme. Les mêmes opérations pouvaient être effectuées sur les anciennes versions mais nécessitaient l’ajout de modules développés par la communauté Microsoft.

Il est donc possible, et cela de manière native, de générer une archive (compress-archive) ou d’effectuer une extraction (expand-archive). Attention néanmoins, il est important de noter que seules les extensions zip sont gérées. L’opération de mise à jour (ajout d’un fichier dans l’archive) ainsi que le taux de compression peuvent être définis au moment de la génération.

La commande New-item a été enrichie, elle offre désormais la possibilité...