Sylver SCHORGEN Blog's

Articles, astuces et news sur les technologies Microsoft et plus particulièrement tournant autour de Powershell
  • [PowerShell] Création de plusieurs VM Hyper-V

     Dans mon dernier billet de blog, j'indiquais comment créer une VM avec un script que j'avais développé. Voici maintenant un script qui permet de créer plusieurs machines virtuelles depuis un fichier CSV source.

    Voici les colonnes à remplir :

    • VMName (obligatoire) : Nom de la machine virtuelle à créer
    • Processors (obligatoire) : Nombre de processeurs à assigner à la machine virtuelle
    • VMMemoryMB (obligatoire) : Quantité de RAM à assigner à la machine virtuelle (en MB)
    • VHDSizeGB (obligatoire) : La taille du VHD de la machine virtuelle (en GB)
    • VMGeneration (obligatoire) : La génération de votre machine virtuelle (soit 1, soit 2)
    • VHDPath (obligatoire) : Le chemin ou sera stocké le VHD de la machine virtuelle (penser à ajouter le nom du VHD à la fin du chemin. Exemple : D:\monVHD.vhdx)
    • InternalvSwitchName : Nom du vSwitch interne à assigner à la machine virtuelle (ce dernier doit exister)
    • ExternalvSwitchName : Nom du vSwitch externe à assigner à la machine virtuelle (ce dernier doit exister)
    • PrivatevSwitchName : Nom du vSwitch privé à assigner à la machine virtuelle (ce dernier doit exister)
    • IsoPath : Chemin de l'ISO à monter dans le DVD de la machine virtuelle

    Ci-dessous un exemple de fichier CSV rempli avec Excel.

    Une fois le fichier complété, il ne vous reste plus qu'à lancer la commande suivante afin de créer l'intégralité de vos machines : .\HYPERV_New-VMFromCSV -CSVPath "D:\HYPERV_VmToCreate.csv"

    Pour récupérer le script et le fichier CSV, c'est pas ici :)

  • [PowerShell] Création de VM Hyper-V

    Après mon article sur la création de vSwitch en PowerShell, voici un petit script permettant de créer et configurer une VM dans Hyper-V. Le but de ce script est de :

    • Créer la VM
    • Configurer les paramètres virtuels de la VM
      • RAM
      • CPU
      • Generation de VM
      • Stockage et taille du VHD
    • Eventuellement monter un ISO dans le lecteur DVD
    • Connecter les vSwitch

    Ce script dispose de plusieurs paramètres obligatoires :

    • VMName : Nom de la VM à créer
    • VHDPath : Chemin ou sera stocké le VHD (penser à indiquer le nom du VHD dans le chemin --> D:\vhd\monVHD.vhd)
    • VHDSize : Taille du VHD en GB (exemple : 10GB)
    • VMMemory : RAM de la VM en MB (exemple : 1024MB)
    • VMGeneration : Génération de VM utilisée (par défaut à 2 mais peut être mis à 1)

    D'autres paramètres facultatifs existent : 

    • Processor : Le nombre de processeurs de la VM (par défaut à 1)
    • IsoPath : Le chemin de l'ISO à monter dans le lecteur DVD
    • InternalvSwitchName : Le nom du vSwitch interne s'il existe
    • PrivatevSwitchName : Le nom du vSwitch privé s'il existe
    • ExternalvSwitchName : Le nom du vSwitch externe s'il existe

    Quelques exemples d'utilisation de ce script : 

    • Création d'une VM avec tous les paramètres : .\HYPERV_New-VM.ps1 -VMName "TEST" -VHDPath "D:\Hyper-V\TEST.vhdx" -VHDSize 30GB -VMMemory 2048MB -Processor 2 -VMGeneration 2 -IsoPath "D:\SRV12.ISO" -InternalvSwitchName "Internal vSwitch" -ExternalvSwitchName "External vSwitch" -PrivatevSwitchName "Private vSwitch"
    • Création d'une VM en spécifiant nom, vhd, mémoire et génération : .\HYPERV_New-VM.ps1 -VMName "TEST" -VHDPath "D:\Hyper-V\TEST.vhdx" -VHDSize 30GB -VMMemory 2048MB -VMGeneration 2

    Le script est par ici :)

  • [PowerShell] Création de vSwitch Hyper-V sous Windows 10

    Sur mon PC tournant sous Windows 10, j'utilise Hyper-V pour virtualiser mes machines de test. Quand je réinstalle ma machine (ou mes machines :p), je n'aime pas y passer trop de temps. De ce fait j'ai scripté pas mal de choses dont la création des vSwitch Hyper-V. Du coup, dès que j'ai activé la fonctionnalité Hyper-V (en PowerShell bien sûr tel qu'indiqué dans un de mes anciens billets de blog), je fais tourner mon script de création de vSwitch.

    Le script a plusieurs paramètres :

    • NetworkAdapterName (Obligatoire) : Correspond au nom de votre carte réseau. Celle-ci sera utilisée lors de la création du vSwitch externe.
    • InternalVSwtich (Facultatif) : Vous mettrez ce booléen à $True si vous voulez disposer d'un vSwitch interne. Ce paramètre est à $False par défaut.
    • PrivateVSwitch (Facultatif) : Vous mettrez ce booléen à $True si vous voulez disposer d'un vSwitch privé. Ce paramètre est à $False par défaut.

    Exemples d'exécution du script :

    • Création d'un vSwitch externe, interne et privé basé sur une carte wifi nommée "wifi" : .\HYPERV_Add-HypervSwitch -NetworkAdapterName "wifi" -InternalVSwitch $True -ExternalVSwitch $True
    • Création d'un vSwitch externe uniquement basé sur une carte wifi nommée "wifi" : .\HYPERV_Add-HypervSwitch -NetworkAdapterName "wifi"


    Pour récupérer le script, c'est par ici :)