PowerCLI Scripts
# VM 멀티로 배포하기 위해서 제작함
#가상 머신이 실제로 생성되고 준비될 때까지 기다리도록 스크립트를 변경하는 것이 좋습니다.
#이를 위해 Get-VM 명령을 사용하여 가상 머신 상태를 확인하고, 준비될 때까지 반복해서 체크할 수 있습니다.
#New-VM 명령을 사용하여 가상 머신을 생성합니다.
#Get-VM 명령을 사용하여 새로 생성된 가상 머신의 상태를 확인합니다.
#가상 머신이 PoweredOff 상태가 될 때까지 5초 간격으로 상태를 체크하면서 기다립니다.
#가상 머신이 PoweredOff 상태가 되면 Start-VM 명령을 사용하여 전원을 켭니다.
Connect-VIServer -Server "XXXXXXX" -Protocol https -User "XXXXX" -Password "AAAAAA"
$vms = Import-CSV "D:\VMList.csv"
foreach ($vm in $vms)
{
# Assigning variables as per CSV File
$VMName = $vm.Name
$Template = Get-Template -Name $vm.Template
$Cluster = $vm.Cluster
$Datastore = Get-Datastore -Name $vm.Datastore
$Custom = Get-OSCustomizationSpec -Name $vm.Customization
$Location = $vm.Location
# Deploying the VM
New-VM -Name $VMName -Template $Template -ResourcePool (Get-Cluster $Cluster | Get-ResourcePool) -location $Location -StorageFormat Thin -Datastore $Datastore -OSCustomizationSpec $Custom
# Waiting until the VM is ready
$vmObj = Get-VM -Name $VMName
while ($vmObj.ExtensionData.Runtime.PowerState -ne 'poweredOff') {
Start-Sleep -Seconds 40
$vmObj = Get-VM -Name $VMName
}
# Powering on the VM without confirmation
Start-VM -VM $VMName -Confirm:$false
}
새로운 가상머신 만듭니다.
CSV 파일 구성
Name | Template | Cluster | DataStore | Customization | Location |
KRW1 | Template-W10-22H2-Base | KR-VDI | Datastore | Windows10_Final_version | P1 |
KRW2 | Template-W10-22H2-Base | KR-VDI | Datastore | Windows10_Final_version | P1 |
KRW3 | Template-W10-22H2-Base | KR-VDI | Datastore | Windows10_Final_version | P1 |
KRW4 | Template-W10-22H2-Base | KR-VDI | Datastore | Windows10_Final_version | P1 |
'Endpoint' 카테고리의 다른 글
[K8S]ETCD - Commands (2) | 2024.12.02 |
---|---|
[Windows]VMWare PowerCLI 모듈 설치 및 설정 : 효율적인 가상화 관리 (0) | 2024.07.23 |
[Linux] syslog 시스템 로그 관리 (0) | 2024.07.04 |
VMWare OVF 추출 (0) | 2023.03.22 |
[Ubuntu] 고정 IP부여 + 실수썰 (0) | 2020.09.23 |