| Works
vSphereでVMのUUIDを変更する(スクリプト化)
前回の続き。
UUIDを修正しないといけないVMが諸々の事情でそれなりの数だったので、さすがに全部を手作業は嫌だなと。
そんなわけで、vSphereのPowerCLIを使ってスクリプト化しました。
vCenter Server等で表示される仮想マシン名で対象を指定するようにしました。
$VC = "127.0.0.1"
$VCAdmin = "administrator@vsphere.local"
$VCPassword = "password"
$TartgetVM = "vm01"
Add-PSSnapin VMware.VimAutomation.Core
Connect-VIServer -Force -Server $VC -User $VCAdmin -Password $VCPassword
$VMs = Get-VM
foreach ($VM in $VMs) {
$NewUUID = [guid]::NewGuid() | % { $_ -replace "-",""} | % { $_ -replace '([a-z0-9]{2})','$1 '} | % {$_ -replace '^(.{23}) ','$1-'}
if ($VM.Name -eq $TartgetVM) {
echo "VM: " $VM.Name "New UUID: " $NewUUID
$Spec = New-Object VMware.Vim.VirtualMachineConfigSpec
$Spec.Uuid = $NewUUID
$VM.ExtensionData.ReconfigVM_Task($Spec)
Start-Sleep -s 3
}
}
exit
スクリプト化すれば操作ミスもなくなるし、他人に任せることもできるようになって楽できますね。