【问题标题】:Cannot create new VM from powercli无法从 powercli 创建新 VM
【发布时间】:2016-06-14 09:54:58
【问题描述】:

我正在使用 PowerCLI 6.0 从另一个虚拟机创建一个新的虚拟机。我正在使用这个 cmdlet:

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

但它返回以下异常:

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

源虚拟机已关闭。 vSphere 的版本是 5.5。

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

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

【问题讨论】:

    标签: vmware vsphere powercli


    【解决方案1】:

    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 构建的变量是行不通的,您必须将其缩小到单个存储区才能使 New-VM 操作起作用

    $mds = get-datastore
    
    $mydatastore = Get-random -InputObject $mds
    

    还要确保您的 $sourceVM 也被正确定义。如果该变量中有多个对象,它将不起作用。确保 $sourceVM 等于单个 VM 名称。

    正如您在下面看到的,当我在未在变量中明确标识的情况下运行命令时,它给了我几乎相同的错误(请注意,我的错误看起来会有些不同,因为我使用 PowerGUI 来生成和构建我的脚本)。突出显示的文本是我运行的命令,看起来像你的。底部红色框中的红色文本是错误。通过随机选择或按名称定义主机应该可以使命令正常工作。

    PowerGUI Image VM Creation

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

    【讨论】:

    • 好的,您的回答几乎可以帮助到人们。但就我而言,问题有点不同。我在管理员帐户下直接连接到 VMHost,但管理员无权克隆现有 VM。我必须以管理员身份连接到 vCenter 并运行您的脚本。
    • 太棒了。很高兴你能弄清楚。我还在 VMWare 论坛上记录了一些关于您是否连接到 vCenter 的信息。我链接的一篇文章说,PowerCLI 中的某些功能只有在针对 vCenter 服务器本身而不是通过主机运行脚本时才能工作。 communities.vmware.com/thread/478345
    【解决方案2】:

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

    首先您需要使用“connect-viserver”连接到 ESXI Server,然后执行新 VM 的创建。

    【讨论】:

    • 是的,我已连接到 ESXI 服务器。当我使用带参数的 Get-VMHost 时没有任何变化。
    • 什么是Get-VMHost 返回?
    猜你喜欢
    • 2018-10-21
    • 2017-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多