Gérer des machines virtuelles Windows avec PowerShell directManage Windows virtual machines with PowerShell Direct

S’applique à : Windows 10, Windows Server 2016, Windows Server 2019Applies To: Windows 10, Windows Server 2016, Windows Server 2019

Vous pouvez utiliser PowerShell direct pour gérer à distance une machine virtuelle Windows 10, Windows Server 2016 ou Windows Server 2019 à partir d’un hôte Hyper-V Windows 10, Windows Server 2016 ou Windows Server 2019.You can use PowerShell Direct to remotely manage a Windows 10, Windows Server 2016, or Windows Server 2019 virtual machine from a Windows 10, Windows Server 2016, or Windows Server 2019 Hyper-V host. PowerShell direct permet la gestion de Windows PowerShell à l’intérieur d’un ordinateur virtuel, indépendamment de la configuration réseau ou des paramètres de gestion à distance sur l’hôte Hyper-V ou l’ordinateur virtuel.PowerShell Direct allows Windows PowerShell management inside a virtual machine regardless of the network configuration or remote management settings on either the Hyper-V host or the virtual machine. Pour les administrateurs Hyper-V, cela facilite la génération de scripts et l’automatisation de la gestion et de la configuration des machines virtuelles.This makes it easier for Hyper-V Administrators to automate and script virtual machine management and configuration.

Vous pouvez exécuter PowerShell Direct de deux manières :There are two ways to run PowerShell Direct:

  • Créer et quitter une session PowerShell direct à l’aide des applets de commande PSSessionCreate and exit a PowerShell Direct session using PSSession cmdlets

  • Exécuter le script ou la commande avec l’applet de commande Invoke-CommandRun script or command with the Invoke-Command cmdlet

Si vous gérez des machines virtuelles plus anciennes, utilisez Connexion à une machine virtuelle (VMConnect) ou configurez un réseau virtuel pour la machine virtuelle.If you're managing older virtual machines, use Virtual Machine Connection (VMConnect) or configure a virtual network for the virtual machine.

Créer et quitter une session PowerShell direct à l’aide des applets de commande PSSessionCreate and exit a PowerShell Direct session using PSSession cmdlets

  1. Sur l’hôte Hyper-V, ouvrez Windows PowerShell en tant qu’administrateur.On the Hyper-V host, open Windows PowerShell as Administrator.

  2. Utilisez l’applet de commande Enter-PSSession pour vous connecter à la machine virtuelle.Use the Enter-PSSession cmdlet to connect to the virtual machine. Exécutez l’une des commandes suivantes pour créer une session en utilisant le nom ou le GUID de l’ordinateur virtuel :Run one of the following commands to create a session by using the virtual machine name or GUID:

    Enter-PSSession -VMName <VMName>  
    
    Enter-PSSession -VMGUID <VMGUID>  
    
  3. Tapez vos informations d’identification pour la machine virtuelle.Type your credentials for the virtual machine.

  4. Exécutez toutes les commandes nécessaires.Run whatever commands you need to. Ces commandes s’exécutent sur la machine virtuelle à l’aide de laquelle vous avez créé la session.These commands run on the virtual machine that you created the session with.

  5. Lorsque vous avez terminé, utilisez Exit-PSSession pour fermer la session.When you're done, use the Exit-PSSession to close the session.

    Exit-PSSession  
    

Exécuter le script ou la commande avec l’applet de commande Invoke-CommandRun script or command with Invoke-Command cmdlet

Vous pouvez utiliser l’applet de commande Invoke-Command pour exécuter un ensemble prédéfini de commandes sur la machine virtuelle.You can use the Invoke-Command cmdlet to run a pre-determined set of commands on the virtual machine. L’exemple suivant illustre l’utilisation de l’applet de commande Invoke-Command, où PSTest est le nom de la machine virtuelle et où le script à exécuter (foo.ps1) se trouve dans le dossier script sur le lecteur C:/ :Here is an example of how you can use the Invoke-Command cmdlet where PSTest is the virtual machine name and the script to run (foo.ps1) is in the script folder on the C:/ drive:

Invoke-Command -VMName PSTest  -FilePath C:\script\foo.ps1  

Pour exécuter une commande unique, utilisez le paramètre -ScriptBlock :To run a single command, use the -ScriptBlock parameter:

Invoke-Command -VMName PSTest  -ScriptBlock { cmdlet }  

Qu’est-ce qui est requis pour utiliser PowerShell direct ?What's required to use PowerShell Direct?

Pour créer une session PowerShell Direct sur une machine virtuelle :To create a PowerShell Direct session on a virtual machine,

  • la machine virtuelle doit être démarrée et s’exécuter localement sur l’hôte ;The virtual machine must be running locally on the host and booted.

  • vous devez être connecté à l’ordinateur hôte en tant qu’administrateur Hyper-V ;You must be logged into the host computer as a Hyper-V administrator.

  • vous devez fournir des informations d’identification utilisateur valides pour la machine virtuelle.You must supply valid user credentials for the virtual machine.

  • Le système d’exploitation hôte doit exécuter au moins Windows 10 ou Windows Server 2016.The host operating system must run at least Windows 10 or Windows Server 2016.

  • L’ordinateur virtuel doit exécuter au moins Windows 10 ou Windows Server 2016.The virtual machine must run at least Windows 10 or Windows Server 2016.

Vous pouvez utiliser l’applet de commande obtenir-VM pour vérifier que les informations d’identification que vous utilisez ont le rôle d’administrateur Hyper-V et pour obtenir la liste des machines virtuelles qui s’exécutent localement sur l’hôte et qui sont démarrées.You can use the Get-VM cmdlet to check that the credentials you're using have the Hyper-V administrator role and to get a list of the virtual machines running locally on the host and booted.

Voir aussiSee Also

Enter-PSSessionEnter-PSSession
Quitter-PSSessionExit-PSSession
Invoke-CommandInvoke-Command