Gérer des machines virtuelles Windows avec PowerShell Direct
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
Sur l’hôte Hyper-V, ouvrez Windows PowerShell en tant qu’administrateur.
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>
Tapez vos informations d’identification pour la machine virtuelle.
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.
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.