代码如下,最后一句我不知道怎么转了Dim cComputerName
Const cWMINameSpace = "root/MicrosoftExchangeV2"
Const cWMIInstance = "Exchange_Mailbox"
cComputerName = "MyComputerNETBIOSName"Dim strWinMgmts
Dim objWMIExchange
Dim listExchange_Mailboxs
Dim objExchange_Mailbox strWinMgmts = "winmgmts:{impersonationLevel=impersonate}!//"& _
cComputerName&"/"&cWMINameSpace
Set objWMIExchange =  GetObject(strWinMgmts)
Set listExchange_Mailboxs = objWMIExchange.InstancesOf(cWMIInstance)

解决方案 »

  1.   

    Get就行,逐条翻译可能不行吧。
    System.Management.ConnectionOptions objconn = new 
    System.Management.ConnectionOptions();
    objconn.Impersonation = System.Management.ImpersonationLevel.Impersonate;
    objconn.EnablePrivileges = true;
    string cServername = "servername";
    System.Management.ManagementScope exmangescope = new 
    System.Management.ManagementScope(@"\\" + cServername + 
    @"\root\MicrosoftExchangeV2",objconn);
    System.Management.ObjectQuery objquery = new 
    System.Management.ObjectQuery("SELECT * FROM Exchange_Mailbox");
    System.Management.ManagementObjectSearcher objsearch = new 
    System.Management.ManagementObjectSearcher(exmangescope,objquery);
    System.Management.ManagementObjectCollection queryCollection1 = 
    objsearch.Get();
    string strDisplay;
    foreach( System.Management.ManagementObject instmailbox in 
    queryCollection1 )
    {
    strDisplay = instmailbox["MailboxDisplayName"].ToString() + " " + 
    instmailbox["size"].ToString();
    System.Console.WriteLine(strDisplay);
    }
      

  2.   

    Set listExchange_Mailboxs = objWMIExchange.InstancesOf(cWMIInstance)是不是类型转换的啊?listExchange=cWMIInstance as objWMIExchange;如果是类型转换C# 里用 as 运算符, 如果转换不成功返回  null.不会出现异常