簡體   English   中英

C#無法連接到vmware

[英]C# cannot connect to vmware

我有一個項目,我將必須構建雙堆疊虛擬機。 我通常使用Powershell,但似乎無法做到這一點。 我可能必須使用C#。 我對此感到有點生銹,但是由於某種原因,此代碼給我一個錯誤“無法創建抽象類或接口'VMware.Vim.VimClient'的實例”。

using System.Text;
using VMware.Vim;

namespace Vimfunctions
{  

    public class VimFunctions
    {
        protected VimClient ConnectServer(string viServer, string viUser, string viPassword)
        {
            **VimClient vClient = new VimClient();**
            ServiceContent vimServiceContent = new ServiceContent();
            UserSession vimSession = new UserSession();

            vClient.Connect("https://" + viServer.Trim() + "/sdk");
            vimSession = vClient.Login(viUser, viPassword);
            vimServiceContent = vClient.ServiceContent;

            return vClient;
        }

我添加了對項目的引用。 我一定忘了做某事。

按照https://communities.vmware.com/thread/478700的說明 :“要么堅持使用PowerCLI 5.5版本,要么修改代碼以使用VimClientImpl類而不是VimClient(現在是接口)。”

我使用的一個完整的簡單示例:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using VMware.Vim;

namespace vSphereCli
{
    class Program
    {
        static void Main(string[] args)
        {
            VMware.Vim.VimClientImpl c = new VimClientImpl();
            ServiceContent sc = c.Connect("https://HOSTNAME/sdk");
            UserSession us = c.Login("admin@vsphere.local", "password");
            IList<VMware.Vim.EntityViewBase> vms = c.FindEntityViews(typeof(VMware.Vim.VirtualMachine), null, null, null);
            foreach (VMware.Vim.EntityViewBase tmp in vms)
            {
                VMware.Vim.VirtualMachine vm = (VMware.Vim.VirtualMachine)tmp;
                Console.WriteLine((bool)(vm.Guest.GuestState.Equals("running") ? true : false));
                Console.WriteLine(vm.Guest.HostName != null ? (string)vm.Guest.HostName : "");
                Console.WriteLine("");
            }
            Console.ReadLine();
        }
    }
}

添加對“ C:\\ Program Files(x86)\\ VMware \\ Infrastructure \\ vSphere PowerCLI \\ VMware.Vim.dll”的引用。 更新主機名,密碼; 和跳!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM