Exception 尝试从Office Communicator 2007获取状态信息时出现COM异常

Exception 尝试从Office Communicator 2007获取状态信息时出现COM异常,exception,com,exchange-server,ocs,office-communicator,Exception,Com,Exchange Server,Ocs,Office Communicator,我正在一个新的盒子上建立一个概念验证,这个盒子是用运行IIS 7的Windows Server标准设置的 我需要做的任务是让已登录的用户使用Office Communicator 2007检查同一台计算机上exchange box上其他用户的状态(以及状态类型、联机、脱机、外出、忙碌等) 代码似乎很简单: public string GetStatus(string username) { try { if(this.Current

我正在一个新的盒子上建立一个概念验证,这个盒子是用运行IIS 7的Windows Server标准设置的

我需要做的任务是让已登录的用户使用Office Communicator 2007检查同一台计算机上exchange box上其他用户的状态(以及状态类型、联机、脱机、外出、忙碌等)

代码似乎很简单:

public string GetStatus(string username)
    {
        try
        {
            if(this.CurrentCommunicator == null)
                this.CurrentCommunicator = new CommunicatorAPI.MessengerClass();

            this.CurrentCommunicator.Signin(0, "********", "*****");

            if (CurrentCommunicator != null)
            {
                foreach (IMessengerContact contact in CurrentCommunicator.MyContacts as IMessengerContacts)
                {
                    if (!contact.IsSelf)
                        if (contact.SigninName.Contains(username))
                        {
                            MISTATUS status = contact.Status;
                            return GetStatusString(status);
                        }
                }
            }
        }
        catch (Exception ex)
        {
            return ex.Message;
        }
        return "Unknown";
    }
我使用正确的u/p登录到Office Communicator 2007,因此OCS会实例化,但当代码尝试循环联系人时:

foreach (IMessengerContact contact in CurrentCommunicator.MyContacts as IMessengerContacts)
它抛出以下错误:

由于以下错误,检索CLSID为{8885370D-B33E-44B7-875D-28E403CF9270}的组件的COM类工厂失败:80070005

似乎提供了一条前进的道路,但在更改了“Office Communicator Messenger类”的启动和激活权限,使“网络服务”具有本地启动激活权限后,抛出的COM错误没有任何更改

我还尝试过在不做任何更改的情况下授予“每个人”启动和激活权限


我已经阅读了大量的OCS文章,但我似乎无法解决这个问题。在我拧掉更多的头发之前,请帮忙

如何编写自己的C#程序登录Office Communicator

如何使用office communicator sdk获取状态信息

Office Communicator Automation API只需2分钟

使用Office Communicator自动化API

在Office Communicator中构建自定义联系人列表

Office Communicator状态如何工作?

检测用户存在

OWA 2010表单身份验证的配置信息

开始使用Office Communicator自动化API

用于.NET Framework应用程序的Office Communicator 2007开发环境

更改Office Communications Server 2007服务帐户的密码时,事件查看器中将记录错误代码为80070005的事件ID 56013

通过更改“启动和激活”权限修复Office COM 80070005错误

登录到Communicator(Office Communicator 2007)

自动登录到OCS API示例中

Office2007-接口成员调用

这是否在网页中运行?如果是,您是否尝试过相同的代码,但在服务器上的WinForms应用程序中运行?Communicator SDK是否确实安装在服务器上?@Paul,网络人员开发了一个解决方案,对服务器进行了一些更改,以使Active Directory能够自动登录-然后我使用不同的Lynv方法(GetContactByUri)来实现状态指示。这是在网页中运行的吗?如果是,您是否尝试过相同的代码,但在服务器上的WinForms应用程序中运行?Communicator SDK是否确实安装在服务器上?@Paul,网络人员开发了一个解决方案,对服务器进行了一些更改,以使Active Directory能够自动登录-然后我使用了不同的Lynv方法(GetContactByUri)来实现存在指示。