Как включить буфер обмена в VMware vSphere Client?
Всегда удивляло, что в клиенте VMware vSphere не работает буфер обмена. Как оказалось, буфер обмена был отключен в целях безопасности. В KB1026437 (Clipboard Copy and Paste does not work in vSphere Client 4.1 and later) написано, как включить копирование и вставку в буфер обмена в VMware vSphere Client.
Функционирование Copy и Paste можно разрешить добавив две строчки в настройки (Options > Advanced > General > Configuration Parameters) каждой виртуальной машины.
isolation.tools.copy.disable – false
isolation.tools.paste.disable – false
либо на каждом хосте внести изменения в файл /etc/vmware/config
.
isolation.tools.copy.disable="FALSE"
isolation.tools.paste.disable="FALSE"
Каждый из этих вариантов имеет свои преимущества и недостатки. С одной стороны, вносить изменения в каждую виртуальную машину долго и нудно, с другой стороны, при апгрейде или вводе нового хоста нужно не забыть дописать эти строчки.
На помощь приходит PowerCLI. С помощью простого скрипта можно внести изменения сразу во все виртуальные машины. Этот скрипт можно запускать повторно, по мере создания новых гостей, лишние строчки в конфигурационные файлы гостевых машин добавляться не будут.
# Опции которые нужно добавить в конфиги виртуальных машин # Это удобный способ записи опций, который будет далее преобразован в VirtualMachineConfigSpec $NewExtraOptions = @{ "isolation.tools.copy.disable"="false"; "isolation.tools.paste.disable"="false"; } # Создаем VirtualMachineConfigSpec в который добавим опции определенные выше. $VMConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec foreach ($Option in $NewExtraOptions.GetEnumerator()) { $OptionValue = New-Object VMware.Vim.OptionValue $OptionValue.Key = $Option.Key $OptionValue.Value = $Option.Value $VMConfigSpec.ExtraConfig += $OptionValue } # Получим все виртуальные машины, кроме шаблонов, названия которых удовлетворяют маске. # Если необходимо внести изменения для всех машин, то можно убрать фрагмент '| where {$_.name -like "*"}' $VMs = Get-View -ViewType VirtualMachine -Property Name -Filter @{"Config.Template"="false"} | where {$_.name -like "*"} # Внесем изменения в конфигурационные файлы виртуальных машин foreach($VM in $VMs){ $VM.ReconfigVM_Task($VMConfigSpec) }
К сожалению, изменения будут применены только после vMotion или выключения/включения виртуальной машины.