带有嵌套文件夹的VMware克隆

我试图克隆一些虚拟机使用POWERCLI,但是当我设置目标位置时,我会有错误“找不到名称的文件夹”…

我的文件夹estructure是像:DC1 \ destfolder DC2 \ destfolder

每个DCenter的目标文件夹名称相同。

我正在使用以下命令New-VM -Name $ VMdest -VM $ VMorig -VMHost $ ESXhost -Datastore $ ds -Location $ destFolder -DiskStorageFormat thin -RunAsync

在$ destfoldervariables我已经设置提供完整的path,如“dc1 \ destfolder”或“dc1 \ vm \ destfolder”,但在这两种情况下我总是有错误“无法find文件夹”

我也尝试使用文件夹ID,但“位置”参数不能识别它,因为它使用的名称。

任何想法?

问候

根据文档 , New-VM-Location参数需要一个Foldertypes的对象。

如果你传递一个pathstring,那么它不会工作。

您需要使用获取文件夹与文件夹ID( Get-Folder -ID Folder-group-v30070 )或文件夹本身的名称( Get-Folder destfolder )来存储Folder对象,然后通过一直到New-VM

您可以通过pipe道化数据中心,虚拟机或群集来优化Get-Folder的结果,或者通过将其pipe道传送到Where-Object并检查Parent属性来查看它是否符合您的期望。

如果您正在克隆虚拟机,并想将克隆放在与源文件相同的文件夹中,则可以执行如下操作:

 New-VM -Name $VMdest -VM $VMorig -VMHost $ESXhost -Datastore $ds -Location (Get-Folder -ID (Get-VM $VMorig).FolderId) -DiskStorageFormat thin -RunAsync