[VMware vSphere] PowerCLI を使用して仮想マシンを複数作成する

私は普段からゲスト OS をインストールしない空の仮想マシンを複数作成して
vSphere HA/各種 vMotion/スナップショット等の様々な検証を頻繁に行なって
います。

都度 1台ずつ作成するのも面倒なので今回は空の仮想マシンを一気に複数台作成
可能な PowerCLI スクリプトをメモとして記載します。

以下は CPU 1コア、 メモリ 1GB、ディスク容量 1GB の仮想マシン “test01 ~ test10”
を作成する PowerCLI スクリプトになります。

# vSphere サーバーへの接続
$vcenterServer = "192.168.23.20"
$vcUsername = "administrator@vsphere.local"
$vcPassword = "VMware1!"

Connect-VIServer -Server $vcenterServer -User $vcUsername -Password $vcPassword -force

# 仮想マシンを作成するホスト
$vmHost = Get-VMHost -Name "192.168.23.27"
# 仮想マシンを配置するデータストア
$datastore = Get-Datastore -Name "Datastore"
# 仮想マシンを接続するネットワーク
$network = Get-VirtualPortGroup -Name "VM Network" -VMHost $vmHost

# 作成する仮想マシンの数
$numberOfVMs = 10
# 仮想マシンの名前のプレフィックス
$vmNamePrefix = "test"

# 仮想マシンの構成
$vmCpuCount = 1
$vmMemoryGB = 1
$vmDiskSizeGB = 1

# 仮想マシンを作成
for ($i = 1; $i -le $numberOfVMs; $i++) {
    $vmName = "{0}{1:D2}" -f $vmNamePrefix, $i
    
    # 新しい仮想マシンの作成
    $vm = New-VM -Name $vmName -VMHost $vmHost -Datastore $datastore -NumCpu $vmCpuCount -MemoryGB $vmMemoryGB -DiskGB $vmDiskSizeGB -DiskStorageFormat Thin -NetworkName $network.Name -ErrorAction Stop
    
    # SCSI コントローラーの設定 (PVSCSI)
    $scsiController = Get-ScsiController -VM $vm
    Set-ScsiController -ScsiController $scsiController -Type ParaVirtual -BusSharing NoSharing -confirm:$false -ErrorAction Stop

    # ネットワークアダプタの設定 (vmxnet3)
    $networkAdapter = Get-NetworkAdapter -VM $vm
    Set-NetworkAdapter -NetworkAdapter $networkAdapter -Type vmxnet3 -confirm:$false -ErrorAction Stop 

    Write-Host "仮想マシン '$vmName' を作成し、構成を完了しました。"
}

# vSphere サーバーから切断
Disconnect-VIServer -Server $vcenterServer -Confirm:$false

実際に作成された仮想マシンは以下となります。

タイトルとURLをコピーしました