vCenter にデータストアがあり、毎週実行する PowerCLI スクリプトを使用してクローンを作成しようとしています。仮想マシンを複製することはできますが、ディレクトリ構造を完全に制御することはできません。データストアのルートにある、仮想マシンにちなんで名付けられたフォルダーにすべての仮想マシンを投げています。
私の理想的なディレクトリ構造は、ルートがアクティブな仮想マシンにのみ使用されることです。「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/