PowerCLI などで仮想マシンを作成する際に指定するゲスト OS の種類は、「GuestId」で指定します。このパラメータで指定する文字列の確認方法を紹介します。
GuestId(VirtualMachineGuestOsIdentifier)の確認方法
GuestId は、vSphere Web Services API の「VirtualMachineGuestOsIdentifier」という Enumerated Type に定義されています。Enumerated Type は、たんに Enumeration とも呼ばれる、特定の値を定義してあるデータ オブジェクトです。
vSphere Web Services API は、下記の URL からアクセスできます。
- VMware API Explorer → vSphere Web Services API(vSphere 8.0)
https://developer.vmware.com/apis/1355/vsphere
API Reference では、「Enumerated Types」で「VirtualMachineGuestOsIdentifier」を検索すると、GuestId の列挙されたページにアクセスできます。
検索で表示されたリンク普通にクリックすると、右画面にページが表示されますが、ブラウザのアドレス バーの URL が変化しないため直接リンクが取得できません。
VirtualMachineGuestOsIdentifier のページへの直接リンクを取得したい場合は、左にあるリストの URL から、Web ブラウザの機能で「新しいタブで開く」などで開くと直接リンクが取得できます。
vSphere 8.0 の VirtualMachineGuestOsIdentifier ページへの直接リンクは下記でした。
ちなみに GuestId の列挙の中には謎の OS も存在していて、vSphere 8.0 では「windows12_64Guest」なども用意されています。
仮想マシン作成での GuestId 指定の例
ためしに PowerCLI の New-VM コマンドレットを使用して、ESXi 8.0 に windows12_64Guest の仮想マシンを作成してみると、一応作成できました。
PS C:\> Get-VMHost | Sort-Object Name | select Name,Version Name Version ---- ------- 192.168.10.111 8.0.0 192.168.10.112 8.0.0 192.168.10.113 8.0.0 192.168.10.114 8.0.0 PS C:\> New-VM -Name vm02 -GuestId windows12_64Guest -VMHost 192.168.10.114 Name PowerState Num CPUs MemoryGB ---- ---------- -------- -------- vm02 PoweredOff 1 0.250 PS C:\> Get-VM -Name vm02 | select Name,HardwareVersion,GuestId Name HardwareVersion GuestId ---- --------------- ------- vm02 vmx-20 windows12_64Guest
Windows 12・・・?
他にも GuestId の確認方法はありそうな気がしますが、私はここ10年くらいはこの API リファレンスで確認しています。
そして、vSphere 8.0 時点の GuestId の一覧は、下記のようになっています。
以上、GuestId の文字列を確認してみる話でした。