Japan VMUG 1st Zoom Meeting 2020

f:id:tcpninja:20200405160307p:plain

本業の繁忙期でかなりご無沙汰してしまいましたが,Japan VMUG も漸く Zoom で Online 開催することができました! Leader & Co-leader のみなさま,ご協力ありがとうございました.

https://community.vmug.com/events/event-description?CalendarEventKey=3abff930-c3a0-4762-a467-39521408ad68

HQ から Zoom ライセンスを提供していただいていますが,Type が Basic なので 40 分の時間制限が課せられてしまいます.通常の Local Meeting でも 3 時間以上が当たり前の Japan VMUG には短過ぎなので,今回は Lauren にお願いして 3 時間の会議をセットアップしてもらいました.(実際には,開始時刻前からも会議室に入れていたし,3 時間過ぎても強制終了されませんでした.) ただ,Host 権限が無いので,参加者のモラルに頼る部分が大きいのですが,そこは流石 VMUG メンバー,大きなトラブルも無く,無事に楽しく進行することが出来たと思います.

Zoom 開催に慣れるためにも,これから頻繁に Online Meeting の機会を設けていきたいと思いますので,是非ご参加ください!

今回のテーマは「テレワークについて」でしたが,土日も含めて普段通り通勤している私にはネタが無いので(笑),Code Capture の紹介をしてみました.


Code Capture

6.7 U2 から vSphere Client に組み込まれていたんですね.剛さん,ご指摘ありがとうございます. Developer Center で Code Capture を enable にすると,赤い "Start and Stop" ボタンが現れます.記録したい動作を始める前のこのボタンを押して開始,操作が完了したらもう一度ボタンを押して停止します. vSphere 7 からは PowerCLI 以外にも,vRO Javascript, Python, Go をサポートするようになりました.

f:id:tcpninja:20200405165443p:plain

vSphere Client での操作を Capture すると,自動的にコードを生成してくれます. f:id:tcpninja:20200405170311p:plain

以下,仮想マシンの vMotion を Capture したコードです.

#----------------- Start of code capture -----------------

#---------------CheckRelocate_Task---------------
$vm = New-Object VMware.Vim.ManagedObjectReference
$vm.Type = 'VirtualMachine'
$vm.Value = 'vm-27'
$spec = New-Object VMware.Vim.VirtualMachineRelocateSpec
$spec.Host = New-Object VMware.Vim.ManagedObjectReference
$spec.Host.Type = 'HostSystem'
$spec.Host.Value = 'host-20'
$testType = New-Object String[] (4)
$testType[0] = 'sourceTests'
$testType[1] = 'resourcePoolTests'
$testType[2] = 'hostTests'
$testType[3] = 'datastoreTests'
$_this = Get-View -Id 'VirtualMachineProvisioningChecker-ProvChecker'
$_this.CheckRelocate_Task($vm, $spec, $testType)

#---------------CheckRelocate_Task---------------
$vm = New-Object VMware.Vim.ManagedObjectReference
$vm.Type = 'VirtualMachine'
$vm.Value = 'vm-27'
$spec = New-Object VMware.Vim.VirtualMachineRelocateSpec
$spec.Host = New-Object VMware.Vim.ManagedObjectReference
$spec.Host.Type = 'HostSystem'
$spec.Host.Value = 'host-20'
$testType = New-Object String[] (4)
$testType[0] = 'sourceTests'
$testType[1] = 'resourcePoolTests'
$testType[2] = 'hostTests'
$testType[3] = 'networkTests'
$_this = Get-View -Id 'VirtualMachineProvisioningChecker-ProvChecker'
$_this.CheckRelocate_Task($vm, $spec, $testType)

#---------------RelocateVM_Task---------------
$spec = New-Object VMware.Vim.VirtualMachineRelocateSpec
$spec.Host = New-Object VMware.Vim.ManagedObjectReference
$spec.Host.Type = 'HostSystem'
$spec.Host.Value = 'host-20'
$_this = Get-View -Id 'VirtualMachine-vm-27'
$_this.RelocateVM_Task($spec, $null)

#---------------QueryConfigOptionDescriptor---------------
$_this = Get-View -Id 'EnvironmentBrowser-envbrowser-27'
$_this.QueryConfigOptionDescriptor()

#---------------Config---------------
$_this = Get-View -Id 'VirtualMachine-vm-27'
$_this.Config

#---------------EnvironmentBrowser---------------
$_this = Get-View -Id 'VirtualMachine-vm-27'
$_this.EnvironmentBrowser

#---------------QueryConfigOptionEx---------------
$_this = Get-View -Id 'EnvironmentBrowser-envbrowser-27'
$_this.QueryConfigOptionEx($null)


#----------------- End of code capture -----------------

これを vCenter への接続だけ書いておいた Script に貼り付けて実行するだけで,GUI での操作を再現することができます.お手軽ですね!今回の超 LT では,デモ動画使いましたが,そっちは生々しい情報が入ったままなので非公開という事で(苦笑).