我试图克隆一些虚拟机使用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