hyper-v-direct-ssh est un module PowerShell conçu pour gérer les machines virtuelles hyper-V (VM) et établir des connexions SSH directes avec eux. Ce module fournit des fonctions pour démarrer et arrêter les machines virtuelles, récupérer des informations VM et garantir que le script s'exécute avec les privilèges de l'administrateur.
Assurez-vous d'avoir des privilèges administratifs sur votre système. Le script nécessite des autorisations élevées pour gérer Hyper-V et exécuter certaines commandes.
Assurez-vous que Hyper-V est activé sur votre système. Vous pouvez activer Hyper-V en utilisant les étapes suivantes:
Enable-WindowsOptionalFeature - Online - FeatureName Microsoft - Hyper - V - AllLe script nécessite PowerShell version 7 ou plus. Suivez ces étapes pour installer ou mettre à jour PowerShell:
Assurez-vous que le client SSH est installé sur votre système. Vous pouvez installer le client OpenSSH en suivant ces étapes:
Add-WindowsCapability - Online - Name OpenSSH.Client * ssh -Vbrew install opensshTerminal ouvert.
Exécutez la commande suivante:
sudo apt-get install openssh-clientou pour les distributions basées sur RPM:
sudo yum install openssh-clientsAssurez-vous que vos machines virtuelles sont configurées pour obtenir une adresse IP et qu'elles sont accessibles via SSH. Vérifiez les paramètres du réseau et la connectivité avant d'exécuter le script.
Enregistrez le script sous VMManagement.ps1 sur votre machine locale. Assurez-vous que le chemin du fichier est accessible et notez le chemin d'accès à l'exécution du script.
VMManagement.ps1 est enregistré..VMManagement.ps1 Pour utiliser le module, enregistrez le script en tant que VMManagement.ps1 et exécutez-le à l'aide de PowerShell. Assurez-vous d'avoir les privilèges administratifs nécessaires et que Hyper-V est activé sur votre système.
.VMManagement.ps1Get-Run-AsAdministratorS'assure que le script s'exécute avec les privilèges de l'administrateur.
Paramètres:
ScriptPath : le chemin vers le script qui doit être exécuté en tant qu'administrateur.Exemple:
Get-Run - AsAdministrator - ScriptPath " C:PathToScript.ps1 " Enable-HyperVVérifie si Hyper-V est activé sur le système et le permet.
Exemple:
Enable-HyperV Test-PwshVersionVérifie si la version PowerShell actuelle est de 7 ou plus.
Exemple:
Test-PwshVersion Get-VMListRécupère une liste de noms de machines virtuelles.
Exemple:
$vms = Get-VMList Get-VMNameInvite l'utilisateur à sélectionner une machine virtuelle dans une liste.
Exemple:
$vmName = Get-VMName Get-UserNameInvite l'utilisateur à entrer un nom d'utilisateur pour SSH.
Exemple:
$username = Get-UserName Start-VMInstanceDémarre une machine virtuelle spécifiée.
Paramètres:
vmName : le nom de la machine virtuelle pour commencer.Exemple:
$vm = Start-VMInstance - vmName " MyVM " Add-DashAjoute des tirets à une chaîne tous les deux caractères.
Paramètres:
str : La chaîne à laquelle des tirets seront ajoutés.Exemple:
$dashedString = Add-Dash - str " A1B2C3D4 " Get-VMIPRécupère l'adresse IP d'une machine virtuelle spécifiée.
Paramètres:
vmObject : l'objet VM pour lequel l'adresse IP doit être récupérée.Exemple:
$ipAddress = Get-VMIP - vmObject $vm Stop-VMInstanceArrête une machine virtuelle spécifiée.
Paramètres:
vmName : le nom de la machine virtuelle à arrêter.Exemple:
Stop-VMInstance - vmName " MyVM " Invoke-SSHConnectionInitie une connexion SSH à une machine virtuelle spécifiée.
Paramètres:
user : le nom d'utilisateur de la connexion SSH.vmIP : l'adresse IP de la machine virtuelle.Exemple:
Invoke-SSHConnection - user " username " - vmIP " 192.168.1.100 " Get-VMHeartbeatVérifie l'état du rythme cardiaque d'une machine virtuelle spécifiée.
Paramètres:
vmObject : l'objet VM pour lequel le statut de battement de cœur doit être vérifié.Exemple:
$heartbeat = Get-VMHeartbeat - vmObject $vm