Gérer des machines virtuelles Windows avec PowerShell Direct

S’applique à : Windows Server 2022, Windows 10, Windows Server 2016, Windows Server 2019

PowerShell Direct permet de 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. Grâce à PowerShell Direct, vous pouvez gérer Windows PowerShell dans une machine virtuelle, indépendamment de la configuration du réseau ou des paramètres de gestion à distance sur l’hôte Hyper-V ou la machine virtuelle. 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.

Vous pouvez exécuter PowerShell Direct de deux manières :

  • Créer et quitter une session PowerShell Direct à l’aide d’applets de commande PSSession

  • Exécuter un script ou une commande avec l’applet de commande Invoke-Command

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.

Créer et quitter une session PowerShell Direct à l’aide d’applets de commande PSSession

  1. Sur l’hôte Hyper-V, ouvrez Windows PowerShell en tant qu’administrateur.

  2. Utilisez l’applet de commande Enter-PSSession pour vous connecter à la machine virtuelle. Exécutez l’une des commandes suivantes pour créer une session en utilisant le nom ou le GUID de la machine virtuelle :

    Enter-PSSession -VMName <VMName>
    
    Enter-PSSession -VMId <VM GUID>
    
  3. Tapez vos informations d’identification pour la machine virtuelle.

  4. Exécutez toutes les commandes nécessaires. Ces commandes s’exécutent sur la machine virtuelle à l’aide de laquelle vous avez créé la session.

  5. Lorsque vous avez terminé, utilisez Exit-PSSession pour fermer la session.

    Exit-PSSession
    

Exécuter un script ou une commande avec l’applet de commande Invoke-Command

Vous pouvez utiliser l’applet de commande Invoke-Command pour exécuter un ensemble prédéfini de commandes sur la machine virtuelle. 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:/ :

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

Pour exécuter une commande unique, utilisez le paramètre -ScriptBlock :

Invoke-Command -VMName PSTest  -ScriptBlock { cmdlet }

Qu’est-ce qui est nécessaire pour utiliser PowerShell Direct ?

Pour créer une session PowerShell Direct sur une machine virtuelle :

  • la machine virtuelle doit être démarrée et s’exécuter localement sur l’hôte ;

  • vous devez être connecté à l’ordinateur hôte en tant qu’administrateur Hyper-V ;

  • vous devez fournir des informations d’identification utilisateur valides pour la machine virtuelle.

  • Le système d’exploitation hôte doit exécuter au moins Windows 10 ou Windows Server 2016.

  • La machine virtuelle doit exécuter au moins Windows 10 ou Windows Server 2016.

Vous pouvez utiliser l’applet de commande Get-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 démarrées et exécutées localement sur l’hôte.

Voir aussi

Enter-PSSessionExit-PSSessionInvoke-Command