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

