Рубрики
esx*

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 или выключения/включения виртуальной машины.