我尝试并搜索了多种方法将虚拟机迁移到不同的数据存储
$existingds = Get-Content dummy path
$newds = Get-Content dummypath
Get-Datastore $existingds | Get-VM | Move-VM -DiskStorageFormat Thick -Datastore $newds –RunAsync
但由于某种原因,它不起作用,我收到此错误:
Move-VM : Cannot convert 'System.Object[]' to the type 'VMware.VimAutomation.ViCore.Types.V1.DatastoreManagement.StorageResource' required by parameter 'Datastore'. Specified method is not supported.
如果我运行该命令move-vm -vm vmname -datastore new datastore
,它可以正常工作,但是当我尝试将其放入数组时,它会引发错误。
答案1
-Datastore
需要一个数据存储对象,但您提供的是一个字符串数组。
这应该有效:
Get-Datastore $existingds | Get-VM | Move-VM -DiskStorageFormat Thick -Datastore (Get-Datastore $newds) –RunAsync