hyper-v-direct-ssh es un módulo PowerShell diseñado para administrar las máquinas virtuales Hyper-V (VM) y establecer conexiones SSH directas para ellas. Este módulo proporciona funciones para comenzar y detener las máquinas virtuales, recuperar información de VM y garantizar que el script se ejecute con privilegios de administrador.
Asegúrese de tener privilegios administrativos en su sistema. El script requiere permisos elevados para administrar Hyper-V y ejecutar ciertos comandos.
Asegúrese de que Hyper-V esté habilitado en su sistema. Puede habilitar Hyper-V usando los siguientes pasos:
Enable-WindowsOptionalFeature - Online - FeatureName Microsoft - Hyper - V - AllEl script requiere PowerShell versión 7 o mayor. Siga estos pasos para instalar o actualizar PowerShell:
Asegúrese de que el cliente SSH esté instalado en su sistema. Puede instalar el cliente OpenSSH siguiendo estos pasos:
Add-WindowsCapability - Online - Name OpenSSH.Client * ssh -Vbrew install opensshTerminal abierto.
Ejecute el siguiente comando:
sudo apt-get install openssh-cliento para distribuciones basadas en RPM:
sudo yum install openssh-clientsAsegúrese de que sus máquinas virtuales estén configuradas para obtener una dirección IP y que esté accesible a través de SSH. Verifique la configuración de la red y la conectividad antes de ejecutar el script.
Guarde el script como VMManagement.ps1 en su máquina local. Asegúrese de que la ruta del archivo sea accesible y anote la ruta para ejecutar el script.
VMManagement.ps1 ..VMManagement.ps1 Para usar el módulo, guarde el script como VMManagement.ps1 y ejecútelo usando PowerShell. Asegúrese de tener los privilegios administrativos necesarios y que Hyper-V esté habilitado en su sistema.
.VMManagement.ps1Get-Run-AsAdministratorAsegura que el script se ejecute con privilegios de administrador.
Parámetros:
ScriptPath : la ruta al script que debe ejecutarse como administrador.Ejemplo:
Get-Run - AsAdministrator - ScriptPath " C:PathToScript.ps1 " Enable-HyperVComprueba si Hyper-V está habilitado en el sistema y lo habilita si no.
Ejemplo:
Enable-HyperV Test-PwshVersionComprueba si la versión actual de PowerShell es 7 o más.
Ejemplo:
Test-PwshVersion Get-VMListRecupera una lista de nombres de VM.
Ejemplo:
$vms = Get-VMList Get-VMNameLe pide al usuario que seleccione una VM de una lista.
Ejemplo:
$vmName = Get-VMName Get-UserNameLe pide al usuario que ingrese un nombre de usuario para SSH.
Ejemplo:
$username = Get-UserName Start-VMInstanceInicia una VM especificada.
Parámetros:
vmName : el nombre de la VM para comenzar.Ejemplo:
$vm = Start-VMInstance - vmName " MyVM " Add-DashAgrega guiones a una cadena cada dos caracteres.
Parámetros:
str : la cadena a la que se agregarán guiones.Ejemplo:
$dashedString = Add-Dash - str " A1B2C3D4 " Get-VMIPRecupera la dirección IP de una VM especificada.
Parámetros:
vmObject : el objeto VM para el cual se puede recuperar la dirección IP.Ejemplo:
$ipAddress = Get-VMIP - vmObject $vm Stop-VMInstanceDetiene una VM especificada.
Parámetros:
vmName : el nombre de la VM para detenerse.Ejemplo:
Stop-VMInstance - vmName " MyVM " Invoke-SSHConnectionInicia una conexión SSH a una VM especificada.
Parámetros:
user : el nombre de usuario para la conexión SSH.vmIP : la dirección IP de la VM.Ejemplo:
Invoke-SSHConnection - user " username " - vmIP " 192.168.1.100 " Get-VMHeartbeatVerifica el estado del latido de una VM especificada.
Parámetros:
vmObject : el objeto VM para el cual se va a verificar el estado del corazón.Ejemplo:
$heartbeat = Get-VMHeartbeat - vmObject $vm