hyper-v-direct-ssh é um módulo PowerShell projetado para gerenciar máquinas virtuais Hyper-V (VMS) e estabelecer conexões SSH diretas com elas. Este módulo fornece funções para iniciar e interromper as VMs, recuperar informações da VM e garantir que o script seja executado com privilégios de administrador.
Certifique -se de ter privilégios administrativos em seu sistema. O script requer permissões elevadas para gerenciar o Hyper-V e executar certos comandos.
Verifique se o Hyper-V está ativado no seu sistema. Você pode ativar o Hyper-V usando as seguintes etapas:
Enable-WindowsOptionalFeature - Online - FeatureName Microsoft - Hyper - V - AllO script requer PowerShell versão 7 ou maior. Siga estas etapas para instalar ou atualizar o PowerShell:
Verifique se o cliente SSH está instalado no seu sistema. Você pode instalar o cliente OpenSSH seguindo estas etapas:
Add-WindowsCapability - Online - Name OpenSSH.Client * ssh -Vbrew install opensshTerminal aberto.
Execute o seguinte comando:
sudo apt-get install openssh-clientou para distribuições baseadas em RPM:
sudo yum install openssh-clientsCertifique -se de que suas VMs estejam configuradas para obter um endereço IP e que sejam acessíveis via SSH. Verifique as configurações e conectividade da rede antes de executar o script.
Salve o script como VMManagement.ps1 em sua máquina local. Verifique se o caminho do arquivo está acessível e anote o caminho para executar o script.
VMManagement.ps1 é salvo..VMManagement.ps1 Para usar o módulo, salve o script como VMManagement.ps1 e execute -o usando o PowerShell. Verifique se você possui os privilégios administrativos necessários e se o Hyper-V está ativado no seu sistema.
.VMManagement.ps1Get-Run-AsAdministratorGarante que o script seja executado com privilégios de administrador.
Parâmetros:
ScriptPath : o caminho para o script que precisa ser executado como administrador.Exemplo:
Get-Run - AsAdministrator - ScriptPath " C:PathToScript.ps1 " Enable-HyperVVerifica se o Hyper-V está ativado no sistema e o permite, se não.
Exemplo:
Enable-HyperV Test-PwshVersionVerifica se a versão atual do PowerShell é 7 ou superior.
Exemplo:
Test-PwshVersion Get-VMListRecupera uma lista de nomes da VM.
Exemplo:
$vms = Get-VMList Get-VMNameSolicita ao usuário selecionar uma VM em uma lista.
Exemplo:
$vmName = Get-VMName Get-UserNameSolicita ao usuário inserir um nome de usuário para SSH.
Exemplo:
$username = Get-UserName Start-VMInstanceInicia uma VM especificada.
Parâmetros:
vmName : o nome da VM para iniciar.Exemplo:
$vm = Start-VMInstance - vmName " MyVM " Add-DashAdiciona traços a uma string a cada dois caracteres.
Parâmetros:
str : a string à qual os traços serão adicionados.Exemplo:
$dashedString = Add-Dash - str " A1B2C3D4 " Get-VMIPRecupera o endereço IP de uma VM especificada.
Parâmetros:
vmObject : O objeto VM para o qual o endereço IP deve ser recuperado.Exemplo:
$ipAddress = Get-VMIP - vmObject $vm Stop-VMInstancePare uma VM especificada.
Parâmetros:
vmName : o nome da VM para parar.Exemplo:
Stop-VMInstance - vmName " MyVM " Invoke-SSHConnectionInicia uma conexão SSH com uma VM especificada.
Parâmetros:
user : o nome de usuário para a conexão SSH.vmIP : o endereço IP da VM.Exemplo:
Invoke-SSHConnection - user " username " - vmIP " 192.168.1.100 " Get-VMHeartbeatVerifica o status de batimento cardíaco de uma VM especificada.
Parâmetros:
vmObject : O objeto VM para o qual o status do batimento cardíaco deve ser verificado.Exemplo:
$heartbeat = Get-VMHeartbeat - vmObject $vm