Aller au contenu principal
Notification
ITPro
  • Ressources IT
  • Newsletter
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
Se connecter
S’inscrire
  • Facebook
  • X
  • Linkedin
  • Instagram

Inscrivez-vous

Newsletter iTPro

  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  1. Accueil
  2. Cloud & Infrastructure
  3. Automatiser vos déploiements Hyper-V avec PowerShell

Sommaire

Tech stories

  • Tech Stories

    Sous-titres vidéo : formats SRT, VTT et bonnes pratiques

  • Tech Stories

    Sécuriser sa téléphonie IP : 5 failles critiques à anticiper

Virtualisation

Automatiser vos déploiements Hyper-V avec PowerShell

Par

Loïc Thobois
Date
27 juin 2014
Temps de lecture
5 minutes

Pour les administrateurs, les ingénieurs avant-vente, les développeurs, les formateurs et autres métiers techniques, l'un des avantages incontestables de la plateforme Hyper-V est la présence du moteur directement dans les systèmes Windows 8 et Windows 8.1.

Sommaire

En effet, cela facilite la mise en place de POC (Proof of Concept) ou autres tests de qualification car la technologie est implémentée à l’identique de son grand frère sous Windows Server. On peut ainsi facilement monter des maquettes sur son ordinateur portable pour faire des démonstrations chez le client en minimisant les problèmes de compatibilité, liés à l’utilisation d’une version serveur de Windows comme poste de travail. Exception faite des composants de haute disponibilité et autres spécificités des infrastructures serveurs, on retrouve notamment des technologies comme PowerShell.

Le manque que l’on peut ressentir se situe aussi au niveau des outils de gestion des environnements virtuels comme System Center Virtual Machine Manager. Ces outils facilitent le déploiement des machines par l’intermédiaire de bibliothèques contenant des modèles préétablis ayant des configurations matérielles préconfigurées et des systèmes d’exploitation prêts à l’usage.

Dans cette situation, PowerShell se retrouve particulièrement utile pour automatiser le montage de plateformes et ainsi gagner du temps pour le déploiement des machines virtuelles associées. Je vous propose de voir aujourd’hui les bases d’un script de déploiement de machines pouvant vous faire gagner du temps et les outils qui l’accompagnent.

Introduction à PowerShell

PowerShell est un environnement d’exécution de script très puissant qui permet entre autres, d’automatiser des tâches dans un environnement Windows. Il se présente sous la forme d’un environnement en ligne de commande qui s’apparente fortement aux différents shells que l’on peut trouver dans le monde Unix/Linux. En reprenant une philosophie de base identique, il ajoute aux shells existant une rigueur dans la syntaxe des commandes et une orientation à destination des administrateurs plus marqués.

Le principe de PowerShell est d’utiliser de petites commandes simples appelées cmdlets que l’on va combiner à l’aide de pipe pour créer des fonctions complexes et complètes. L’objectif étant d’éviter au maximum l’utilisation de boucles et l’écriture d’algorithmes.

Les cmdlets utilisent toutes le même formatage avec un verbe qui va définir le type d’action à réaliser (New pour nouveau, Get pour lister, Set pour modifier, …) suivi du nom du type d’objets à manipuler (VM pour les machines virtuelles, Eventlog pour les journaux d’évènements, …).

Dans la mesure où il a été conçu pour être utilisé par des administrateurs, il s’articule autour d’un concept simple qui régit la plupart des tâches d’administration, à savoir :
• Lister les objets/éléments/composants voulus (ex : lister toutes les machines virtuelles d’un hyperviseur).

• Appliquer un filtre dessus (ex : ne garder que les machines virtuelles démarrées).
• Appliquer une opération dessus (ex : arrêter les machine virtuelles démarrées).

Dans ce contexte, Powershell est très efficace dans le traitement de masse et simple d’application car les trois opérations seront réalisées en une seule ligne, là où d’autres systèmes de scripting en demandent parfois des dizaines. PowerShell est un langage orienté objet. Lorsque l’on récupère une liste à la suite d’une commande, il ne s’agit pas d’une simple liste mais bien d’objets avec leurs propriétés et leurs méthodes en mémoire même si elles ne sont pas affichées.

Les commandes travaillant avec des objets typés, l’environnement PowerShell permet d’enchaîner les commandes à l’aide de pipelines tout en vérifiant la cohérence des informations qui sont passées.

Un pipeline permet à un ensemble de cmdlets d’échanger implicitement leurs paramètres. Les données qui parcourent le pipeline passent par chaque cmdlets. Pour créer un pipeline, le caractère « | » est utilisé. La sortie de chaque cmdlets est utilisée comme entrée de la cmdlets suivante si le type de donnée est compatible.

Le pipeline est sans doute le concept le plus intéressant de PowerShell. Correctement utilisé, il permet de simplifier la saisie de commandes complexes, mais également de simplifier la lecture du flux de données dans les commandes.

Voici un exemple étape par étape :

PS > Get-VM | Where Name -Like “AVAEDOS*” | Get-VMSnapshot
| Restore-VMSnapshot -Confirm:$false

• PowerShell récupère la liste des machines virtuelles de l’environnement.
• PowerShell garde uniquement les machines virtuelles dont le nom commence par AVAEDOS.
• PowerShell récupère le dernier snapshot de chaque machine virtuelle dont le nom commence par AVAEDOS.
• PowerShell applique le dernier snapshot de chaque machine virtuelle dont le nom commence par AVAEDOS.

De plus, PowerShell est devenu quasi incontournable dans les produits Microsoft actuels ce qui est d’autant plus motivant pour commencer à se former. Il sera ainsi à l’avenir facile de mettre en place dans un même script des interactions entre plusieurs produits (Hyper-V, Gestion des disques, Gestion réseau, SCVMM, …).

Il est aussi possible de créer ses propres cmdlets afin de rendre facilement scriptables des applications qui ne sont pas nativement ou officiellement prises en charge. Les bibliothèques de commandes peuvent être disponibles sous forme de SnapIn (composants enfichables) ou de Modules. On retrouve beaucoup de bibliothèques sur le site Codeplex – http://www.codeplex.com.

L’environnement PowerShell est capable d’exécuter des commandes classiques (ping, ipconfig, netsh, …), de dialoguer avec des scripts batch, vbs ou autres et d’utiliser nativement les assemblies .NET et les objets COM pour étendre ses capacités.
Ces différentes extensions permettent de bénéficier dans un même script de la richesse et de la simplicité des commandes natives PowerShell mais aussi de la puissance du Framework .NET et COM ainsi que de la compatibilité des scripts utilisant des technologies plus anciennes (Pour créer une interface graphique par exemple avec http:// showui.codeplex.com/). Dans les différents environnements d’édition, les commandes, les paramètres ainsi que certains attributs bénéficient de la complétion automatique à l’aide de la touche de tabulation et un historique est disponible par la touche F7.

Une interface graphique appelée PowerShell ISE (PowerShell Integrated Scripting Environment) permet la mise au point de scripts plus complexes en offrant des fonctions IntelliSense (Ctrl-Espace – menus contextuels de complétion en cours d’écriture), des Snipets par le raccourci Ctrl-J (structures de code toutes faites), un panneau contenant toutes les commandes disponibles intégrant un assistant d’écritures, et des fonctions de débogage (F9) et de pas à pas (F10, F11, Shift-F11).

Tech Stories

Sous-titres vidéo : formats SRT, VTT et bonnes pratiques

Le sous-titrage n'est plus une option mais un levier de croissance : 80 % des vidéos sur les réseaux sociaux sont consommées sans le son. Pourtant, choisir entre le format…

Lire l'article : Sous-titres vidéo : formats SRT, VTT et bonnes pratiques

Ressource IT

SIEM & PME : Comment construire la boîte noire de votre SI ?

Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…

Découvrir la ressource : SIEM & PME : Comment construire la boîte noire de votre SI ?

Inscrivez-vous

Newsletter iTPro

Loïc Thobois

Rédigé par Loïc Thobois

Loïc Thobois est CTO pour D.T Consulting, administrateur de la plate-forme de partage communautaire www.avaedos.com et rédacteur sur iTPro.fr et Smart DSI. MVP depuis 2004, il partage ses connaissances sur le sujet. Découvrez ses articles informatiques

Tous ses articles →

Cloud & Infrastructure

À lire également...

  • Fintech française croissance des champions européens
    FinOps & optimisation cloud

    Fintech française : après la croissance, le temps des champions européens

    Par

    Sabine Terrey
    Date
    10 novembre 2026
    Temps de lecture
    3 minutes
  • Cloud public et sécurité des données
    Cloud & Infrastructure

    Cloud public : la sécurité des données s’impose comme premier critère pour les agents publics

    Par

    Sabine Terrey
    Date
    13 octobre 2026
    Temps de lecture
    2 minutes
  • Entra Cloud First
    Cloud & Infrastructure

    La bascule Entra Cloud First : le risque a déjà déménagé, la sécurité pas encore

    Par

    Sabine Terrey
    Date
    25 septembre 2026
    Temps de lecture
    14 minutes
  • IA générative dans le secteur public - le cloud souverain comme priorité
    Cloud & Infrastructure

    IA générative dans le secteur public : le cloud souverain s’impose comme priorité

    Par

    Sabine Terrey
    Date
    23 septembre 2026
    Temps de lecture
    3 minutes
ITPro
  • X
  • Linkedin
  • Facebook
  • Instagram
Se connecter
S’inscrire
  • Cloud & Infrastructure
  • Cybersécurité
  • Data & IA
  • Workplace et Endpoints
  • Ressources IT
  • Espace responsable sécurité
  • Espace DSI
  • Espace Architecte IT
  • Espace IT Manager
  • Espace Responsable Data / IA

Inscrivez-vous

Newsletter iTPro

© iTPro.fr

  • Comité éditorial
  • Régie médias
  • Mentions-légales
  • Gestion et protection des données personnelles
  • Gestion des cookies
ITPro
Gérer le consentement aux cookies
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
Le stockage ou l’accès technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’internaute, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
Le stockage ou l’accès technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou la personne utilisant le service.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
Le stockage ou l’accès technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’internaute sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
  • Gérer les options
  • Gérer les services
  • Gérer {vendor_count} fournisseurs
  • En savoir plus sur ces finalités
Voir les préférences
  • {title}
  • {title}
  • {title}