У меня есть хранилище данных в vCenter, к которому я пытаюсь клонировать, используя скрипт PowerCLI, который я запускаю еженедельно. Я могу клонировать на нем виртуальные машины, но у меня нет абсолютно никакого контроля над структурой каталогов. Каждая виртуальная машина выбрасывается в папку с именем виртуальной машины в корне хранилища данных.
Моя идеальная структура каталогов с использованием Root только для активных виртуальных машин. папка «BACKUPS» существует. Внутри этой папки создаются еженедельно для хранения еженедельных клонов. Пример "20111004" на сегодня. Внутри этой папки существуют папки для каждой виртуальной машины.
$vm = <name of the virtual machine obtained programmatically>
$date = Get-Date -Format "YYYYMMDD"
$h = <ESXi host where the VM is located, obtained programatically>
$dsName = "DATASTORE1" #<Name of the datastore I'm targeting>
$dirPath = "BACKUPS/" + $date + "/" + $vm
New-VM -Name $vm-$date -VM $vm -VMHost -$h -Datstore $dsName -Location $dirPath
Пример "полного" пути
[DATASTORE1] BACKUPS / 20111004 / VIRTUALMACHINE
Это единственный фрагмент скрипта, который не работает. Когда команда указана таким образом в PowerShell, она полностью игнорирует параметр -Location и выбрасывает клон в корень хранилища данных. Я не нашел никакой документации (что я понимаю) о том, как это должно быть отформатировано. Что-то связанное с VIContainer ??
Источник сценария, который я настраиваю:
http://www.mbnbusiness.co.uk/blog/2010/08/updated-powercli-vmware-vm-backup-script-v2-0/