![使用带有嵌套文件夹的 POWERCLI 进行 VMware 克隆](https://linux22.com/image/663373/%E4%BD%BF%E7%94%A8%E5%B8%A6%E6%9C%89%E5%B5%8C%E5%A5%97%E6%96%87%E4%BB%B6%E5%A4%B9%E7%9A%84%20POWERCLI%20%E8%BF%9B%E8%A1%8C%20VMware%20%E5%85%8B%E9%9A%86.png)
我正在尝试使用 POWERCLI 克隆一些虚拟机,但是当我设置目标位置时,会出现错误“找不到名称相同的文件夹”...
我的文件夹结构如下:DC1\destfolder DC2\destfolder
每个 DCenter 上的目标文件夹名称相同。
我正在使用以下命令 New-VM -Name $VMdest -VM $VMorig -VMHost $ESXhost -Datastore $ds -Location $destFolder -DiskStorageFormat thin -RunAsync
在 $destfolder 变量上我设置了完整路径,例如“dc1\destfolder”或“dc1\vm\destfolder”,但在这两种情况下我总是出现错误“找不到文件夹”
我也尝试过使用文件夹 ID,但是“位置”参数无法识别它,因为它使用了名称。
任何想法?
问候
答案1
根据文档,的参数期望一个类型-Location
为New-VM
文件夹。
如果您传递路径字符串,那么它将不起作用。
你需要使用获取文件夹,使用文件夹 ID(Get-Folder -ID Folder-group-v30070
)或文件夹本身的名称(Get-Folder destfolder
)来存储 Folder 对象,然后将其传递给New-VM
。
Get-Folder
您可以通过将数据中心、虚拟机或集群传输到其中,或者通过管道传输到其中Where-Object
并检查Parent
属性以查看其是否符合您的预期,从而优化结果。
如果您正在克隆虚拟机并希望将克隆放在与源相同的文件夹中,那么您可以执行以下操作:
New-VM -Name $VMdest -VM $VMorig -VMHost $ESXhost -Datastore $ds -Location (Get-Folder -ID (Get-VM $VMorig).FolderId) -DiskStorageFormat thin -RunAsync