Skip to content

Instantly share code, notes, and snippets.

@pa-jberanek
Last active September 26, 2019 08:55
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pa-jberanek/59347b107ba213d8601d0d355ce51e45 to your computer and use it in GitHub Desktop.
Save pa-jberanek/59347b107ba213d8601d0d355ce51e45 to your computer and use it in GitHub Desktop.
$vmConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$vmConfigSpec.DeviceChange = New-Object VMware.Vim.VirtualDeviceConfigSpec[] (2)
$vmConfigSpec.DeviceChange[0] = New-Object VMware.Vim.VirtualDeviceConfigSpec
$vmConfigSpec.DeviceChange[0].Device = New-Object VMware.Vim.VirtualAHCIController
$vmConfigSpec.DeviceChange[0].Device.DeviceInfo = New-Object VMware.Vim.Description
$vmConfigSpec.DeviceChange[0].Device.DeviceInfo.Summary = 'New SATA Controller'
$vmConfigSpec.DeviceChange[0].Device.DeviceInfo.Label = 'New SATA Controller'
$vmConfigSpec.DeviceChange[0].Device.Key = -103
$vmConfigSpec.DeviceChange[0].Device.BusNumber = 0
$vmConfigSpec.DeviceChange[0].Operation = 'add'
$vmConfigSpec.DeviceChange[1] = New-Object VMware.Vim.VirtualDeviceConfigSpec
$vmConfigSpec.DeviceChange[1].Device = New-Object VMware.Vim.VirtualCdrom
$vmConfigSpec.DeviceChange[1].Device.Connectable = New-Object VMware.Vim.VirtualDeviceConnectInfo
$vmConfigSpec.DeviceChange[1].Device.Connectable.Connected = $false
$vmConfigSpec.DeviceChange[1].Device.Connectable.AllowGuestControl = $true
$vmConfigSpec.DeviceChange[1].Device.Connectable.StartConnected = $true
$vmConfigSpec.DeviceChange[1].Device.Backing = New-Object VMware.Vim.VirtualCdromIsoBackingInfo
$vmConfigSpec.DeviceChange[1].Device.Backing.FileName = $cfg.iso_path
$vmConfigSpec.DeviceChange[1].Device.ControllerKey = -103
$vmConfigSpec.DeviceChange[1].Device.UnitNumber = 0
$vmConfigSpec.DeviceChange[1].Device.DeviceInfo = New-Object VMware.Vim.Description
$vmConfigSpec.DeviceChange[1].Device.DeviceInfo.Summary = 'New CD/DVD Drive'
$vmConfigSpec.DeviceChange[1].Device.DeviceInfo.Label = 'New CD/DVD Drive'
$vmConfigSpec.DeviceChange[1].Device.Key = -104
$vmConfigSpec.DeviceChange[1].Operation = 'add'
$vm_view = $new_vm | Get-View
$vm_view.reconfigVM($vmConfigSpec)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment