【问题标题】:How to got vm's name,resource poll name,vlan id using c# on vmware?如何在 vmware 上使用 c# 获取 vm 的名称、资源池名称、vlan id?
【发布时间】:2019-04-01 11:13:08
【问题描述】:

我有这个代码,它可以显示一个vcenter的虚拟机名称:

using VMware.Vim;

VimClient c = new VimClient();
ServiceContent sc = c.Connect("hostnameOrIpHere");
UserSession us = c.Login("usernameHere", "passwordHere");

IList<VMware.Vim.EntityViewBase> vms = 
c.FindEntityViews(typeof(VMware.Vim.VirtualMachine), null, null, null);
foreach (VMware.Vim.EntityViewBase tmp in vms)
{
  var vm=(VMware.Vim.VirtualMachine)tmp;
  Console.WriteLine(vm.name);
}

我使用 vmware powercli 5.5。如果我使用 6.0,则失败:

VimClient c = new VimClient();

出现错误无法创建接口 VimClient 的实例

我想得到一个vm的名字,资源池名字,vlan id。我可以用vm.name或者vm.Config.name来得到一个vm的名字,但是我试了很多次,都没有资源虚拟机的池名称和 vlan id

有一个属性:vm.ResourcePool,得到了像“ResourcePool-resgroup -409”这样的值,我不知道它是什么。

我不知道如何获取 vlan id

你能帮我吗?谢谢!我可以使用其他版本的 vmware powercli

【问题讨论】:

    标签: c# vmware powercli


    【解决方案1】:

    您通常不会创建 VimClient 的实例,而是创建 VimClientImpl() 的实例。

    VimClient client = new VimClientImpl();
    

    我过去曾使用以下方法通过以下方式获取 VirtualMachine 对象

    List<VirtualMachine> vms = 
    c.FindEntityViews(typeof(VMware.Vim.VirtualMachine), null, null, null).Cast<VirtualMachine>().ToList();
    

    获得所有 VM 的列表后。您可以查看不同对象类型的不同视图,包括 PoolName、VLAN ID 等...

    foreach (VirtualMachine vm in vms) {
      Datastore ds = (Datastore)client.GetView(vm.Datastore.First(), null);
      HostSystem host = (HostSystem)client.GetView(vm.Runtime.Host, null);
      ClusterComputeResource cluster = (ClusterComputeResource)client.GetView(host.Parent, null);
      ResourcePool rpool = (ResourcePool)client.GetView(vm.ResourcePool, null);
    
    }
    

    获取 VLAN ID 会有点棘手,因为您的 VM 上可能有任何一种网络接口。我建议检查您必须获得哪种网络接口才能获得它的视图,然后查找它的 VLAN ID。由于 VLAN 仅在连接的网络中可用,因此您将首先获取网络(我有 DistributedVirtualPortgroup),然后获取其属性以获取 VLAN ID。

    vm.Network -> 网络接口列表

    希望它也能帮助其他正在寻找这个的人。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-30
      • 1970-01-01
      • 2011-03-29
      • 1970-01-01
      • 1970-01-01
      • 2020-10-07
      相关资源
      最近更新 更多