无法从powercli创建新VM

时间:2016-06-14 09:54:58

标签: vmware vsphere powercli

我使用PowerCLI 6.0从其他虚拟机创建新虚拟机。我正在使用此cmdlet:

New-VM -Name MyName -VM $sourceVM -Datastore $myDataStore -VMHost (Get-VMHost)

但它返回以下异常:

  

New-VM实体的操作" xxx"失败并显示以下消息:"对象不支持该操作。"

源VM已关闭。 vSphere的版本是5.5。

我试图谷歌这个错误,但没有任何成功。

现在,我不知道问题出在哪里。

2 个答案:

答案 0 :(得分:3)

Get-vmhost本身将返回所有主机,而不指定要使用的主机,这是此命令所期望的。

如果您知道要构建的主机,则可以使用以下脚本:

New-VM -Name MyName -VM $sourceVM -Datastore $myDataStore -VMHost $(Get-VMHost "specify host name")

否则,您可以构建一个数组,并使用下面的

从该数组中选择一个vmhost
# This command builds an array of all you host names into the variable $vmh

$vmh = get-vmhost 

# This command selects random host from this array assigning it to the $vmhost variable

$vmhost = Get-random -inputobject $vmh

# Now build your VM command with the randomly selected host 

New-VM -Name MyName -VM $sourceVM -Datastore $myDataStore -VMHost $vmhost

确保以类似的方式为$ mydatastore变量定义数据存储

只是建立一个变量get-datastore将无法工作,你必须将其缩小到单个存储,以便新VM运行

$mds = get-datastore

$mydatastore = Get-random -InputObject $mds

还要确保您的$ sourceVM也正确定义。如果此变量中有多个对象,则无效。确保$ sourceVM等于单个VM名称。

正如您在下面看到的,当我在变量中运行命令而没有清楚地识别它时,它给出了几乎相同的错误(请注意我的错误看起来会有所不同,因为我使用PowerGUI来生成和构建我的脚本)。突出显示的文本是我运行的命令,看起来像你的。底部红色框中的红色文字是错误。通过随机选择或按名称定义主机应该使命令有效。

PowerGUI Image VM Creation

我也回复了你的VMWare社区论坛帖子。

答案 1 :(得分:1)

VMHOST要求您传递参数。 https://www.vmware.com/support/developer/PowerCLI/PowerCLI55/html/Get-VMHost.html

首先,您需要使用' connect-viserver'连接到ESXI服务器。然后执行新VM的创建。