0

使用 Hyper-V 管理器(连接到 2012 R2 核心 Hyper-V 服务器),我可以导出 VM,然后使用新 ID 导入导出的 VM(然后重命名)。

我正在尝试通过 powershell 实现相同的目标,但这似乎是不可能的,或者我忽略了一些东西。

所以我有一个出口,并希望进口该出口(并在适当的地方注册)。

出口:

Export-VM -ComputerName $someserver -Name $somevm -Path $exportpath

进口:

Import-VM -ComputerName $someserver -GenerateNewId -Register -Path $pathtoexportedvm_xmlfile

我不能让它工作。我收到模糊的错误消息,例如:

Parameter set cannot be resolved using the specified named parameters.

我试图做 -Copy 而不是 -Register 导致此错误:

Import-VM : Not found

我也试图省略 -Register 但这也不起作用。

在 Hyper-V 管理器中,我可以指向导出文件夹并选择“生成新 ID”,然后导入导出。我怎样才能通过 powershell 做同样的事情?

问候, 罗伯

4

2 回答 2

1

首先,Update-Help -Force从管理员 PowerShell 提示符运行。之后,Get-Help -Name Import-VM用于确定所需的参数。

背景

PowerShell 高级函数可以有多个“参数集”。这允许将不同的逻辑路径作为一个命令名称的一部分,具体取决于指定的参数。根据您指定的参数,PowerShell 无法确定要使用的参数集。

例如,考虑Invoke-Command. 文档中的每个连续“段落”都显示了不同的参数集Invoke-Command。根据您指定的参数,PowerShell 将使用不同的参数集,并遵循适当的逻辑。

调用命令帮助

于 2014-04-16T13:05:29.177 回答
1

此问题的解决方案是必须指定所有三个路径: -VirtualMachinePath -VhdDestinationPath -SnapshotFilePath

该文档没有说明这一点,也没有说明错误消息。

于 2014-07-14T10:28:45.967 回答