VMware Powercli: GuestID von einer VM heraussuchen

Für ein Script benötigte ich die GuestID einer virtuellen Maschine. Eigentlich nichts Besonderes, ausser dass diese bei VMware für Windows Server 2022 ein wenig anders ist als ich das erwartet habe. Aus dem Grund zeige ich euch kurz, wie ich das gemacht habe.

# Zum vCenter verbinden connect-viserver “NamevomvCenter”

Alle Infos zur VM ausgeben

get-vm -name $Servername | fl -Property *

GuestID in einer Variable speichern

$guestid = get-vm $Servername | select-object GuestId

GuestID ausgeben

$guestid

Nun kann mit der GuestID gearbeiten werden, im Beispiel unten die VM Einstellungen auf EFI setzen

if ( $guestid -match ‘windows2019srvNext_64Guest’ ) { $vm = Get-VM $Servername $spec = New-Object VMware.Vim.VirtualMachineConfigSpec $spec.Firmware = [VMware.Vim.GuestOsDescriptorFirmwareType]::efi $boot = New-Object VMware.Vim.VirtualMachineBootOptions $boot.EfiSecureBootEnabled = $true $spec.BootOptions = $boot $vm.ExtensionData.ReconfigVM($spec) }

Die GuestID für Windows Server 2022 unter vSphere 7 ist “windows2019srvNext_64Guest”