Перейти к содержанию

25.11.2011

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

Поделитесь своими мыслями, оставьте комментарий.

(required)
(required)

Внимание: HTML допускается. Ваш e-mail никогда не будет опубликован.

Подписка на комментарии

Captcha *