hyper-v-direct-ssh Hyper-V 가상 머신 (VMS)을 관리하고 직접 SSH 연결을 설정하도록 설계된 PowerShell 모듈입니다. 이 모듈은 VM을 시작하고 중지하고 VM 정보를 검색하며 스크립트가 관리자 권한으로 실행되는 기능을 제공합니다.
시스템에 관리 권한이 있는지 확인하십시오. 스크립트는 Hyper-V를 관리하고 특정 명령을 실행하기 위해 고가의 권한이 필요합니다.
시스템에서 Hyper-V가 활성화되어 있는지 확인하십시오. 다음 단계를 사용하여 Hyper-V를 활성화 할 수 있습니다.
Enable-WindowsOptionalFeature - Online - FeatureName Microsoft - Hyper - V - All스크립트에는 PowerShell 버전 7 이상이 필요합니다. 다음 단계에 따라 PowerShell을 설치하거나 업데이트하십시오.
SSH 클라이언트가 시스템에 설치되어 있는지 확인하십시오. 다음 단계에 따라 OpenSSH 클라이언트를 설치할 수 있습니다.
Add-WindowsCapability - Online - Name OpenSSH.Client * ssh -Vbrew install openssh터미널 열기.
다음 명령을 실행하십시오.
sudo apt-get install openssh-client또는 RPM 기반 분포의 경우 :
sudo yum install openssh-clientsVM이 IP 주소를 얻도록 구성되고 SSH를 통해 액세스 할 수 있는지 확인하십시오. 스크립트를 실행하기 전에 네트워크 설정 및 연결을 확인하십시오.
로컬 컴퓨터에서 스크립트를 VMManagement.ps1 로 저장하십시오. 파일 경로에 액세스 할 수 있는지 확인하고 스크립트를 실행하기위한 경로를 기록하십시오.
VMManagement.ps1 스크립트가 저장된 디렉토리로 이동하십시오..VMManagement.ps1 모듈을 사용하려면 스크립트를 VMManagement.ps1 로 저장하고 PowerShell을 사용하여 실행하십시오. 필요한 관리 권한이 있고 시스템에서 Hyper-V가 활성화되어 있는지 확인하십시오.
.VMManagement.ps1Get-Run-AsAdministrator스크립트가 관리자 권한으로 실행되도록합니다.
매개 변수 :
ScriptPath : 관리자로 실행 해야하는 스크립트의 경로.예:
Get-Run - AsAdministrator - ScriptPath " C:PathToScript.ps1 " Enable-HyperVHyper-V가 시스템에서 활성화되어 있는지 확인하고 그렇지 않은 경우 활성화합니다.
예:
Enable-HyperV Test-PwshVersion현재 PowerShell 버전이 7 이상인지 확인합니다.
예:
Test-PwshVersion Get-VMListVM 이름 목록을 검색합니다.
예:
$vms = Get-VMList Get-VMName사용자가 목록에서 VM을 선택하도록 유도합니다.
예:
$vmName = Get-VMName Get-UserName사용자에게 SSH의 사용자 이름을 입력하도록 유도합니다.
예:
$username = Get-UserName Start-VMInstance지정된 VM을 시작합니다.
매개 변수 :
vmName : 시작할 VM의 이름입니다.예:
$vm = Start-VMInstance - vmName " MyVM " Add-Dash두 문자마다 문자열에 대시를 추가합니다.
매개 변수 :
str : 대시가 추가 될 문자열.예:
$dashedString = Add-Dash - str " A1B2C3D4 " Get-VMIP지정된 VM의 IP 주소를 검색합니다.
매개 변수 :
vmObject : IP 주소를 검색 할 VM 객체.예:
$ipAddress = Get-VMIP - vmObject $vm Stop-VMInstance지정된 VM을 중지합니다.
매개 변수 :
vmName : 중지 할 VM의 이름.예:
Stop-VMInstance - vmName " MyVM " Invoke-SSHConnection지정된 VM에 대한 SSH 연결을 시작합니다.
매개 변수 :
user : SSH 연결의 사용자 이름.vmIP : VM의 IP 주소.예:
Invoke-SSHConnection - user " username " - vmIP " 192.168.1.100 " Get-VMHeartbeat지정된 VM의 심장 박동 상태를 확인합니다.
매개 변수 :
vmObject : 하트 비트 상태를 확인할 VM 객체.예:
$heartbeat = Get-VMHeartbeat - vmObject $vm