如何同步全局地址列表并将其用于展望中

如何同步全球地址列表并在Outlook中使用它

Diogo GouveiaProducts and Solutions Leave a Comment

你知道当你开始在新邮件的 "收件人 "一栏中打字时,你要找的人的联系信息很方便地出现在那里的那种满意的感觉吗?那么,你有 全球地址列表(GAL) 为此要感谢。

哪里可以查看全球地址列表

你可以把全球地址列表(GAL)看作是一个组织中每个人的大电话簿或联系名单。它拥有所有在那里工作的人的姓名、电子邮件地址、电话号码和其他细节。从本质上讲,GAL是一个中央目录,帮助组织内的人轻松找到并联系到彼此。这是一个方便的工具,当你需要给某人发送电子邮件或给他们打电话时,可以查找他们的联系信息。

要在微软Outlook中检查你的组织的全局地址列表,你所需要做的就是遵循这些步骤:

  • 启动微软Outlook。
  • 打开一个新的电子邮件窗口。
    全球地址列表Outlook新邮件
  • 点击 "到"。
    全球地址列表展望
  • 选择全球地址列表或默认全球地址列表选项。
    全局地址列表Outlook default gal
Voilà!就像这样简单。不过,请注意,如果你的组织有一个以上的微软Exchange服务器,你将只看到你使用的服务器的GAL。

那么GAL同步化呢?

正如我们刚才提到的,你看到的全局地址列表取决于你在组织内使用的服务器。如果组织内有多个服务器,Outlook中显示的GAL是与你所连接的服务器相关的。

不支持访问多个GAL。如果你需要,解决方案是去做GAL同步,在一个单一的GAL中获得所有的信息。

但你什么时候会需要这样做呢?下面是一些可能需要这样做的情况:

  • 兼并与收购 - 如果A公司与B公司合并,同步两个公司的全局地址列表将使最终用户的生活更容易,因为所有的联系信息现在将是两个结构的共同点。你可以阅读更多关于Exchange服务器在并购情况下的挑战,请查看以下内容 博文.
  • 合作伙伴 - 当一个公司A与公司B的合作伙伴,有一个固有的增加双方之间的沟通。因此,GAL同步是保证双方都能方便地获取所有联系信息的完美方式。
  • 多个微软Exchange服务器 - 在同一集团内运作的公司可以连接到他们自己的Exchange环境,这很常见,例如,当子公司分布在不同的国家。想象一下,公司集团A在全球有几个分支机构,每个分支机构都有自己的IT基础设施和不同的Exchange服务器。那么,如果欧洲分公司的员工被重新分配到同一公司集团A的北美分公司,GAL同步也可以派上用场。

那么,当面临这些类型的情况时,如何在其他微软Exchange服务器上同步全局地址列表?有什么简单的方法可以做到这一点吗?

      public void Execute(IServiceProvider serviceProvider)
    {
        var tracingService = (ITracingService) serviceProvider.GetService(typeof(ITracingService));
        var context = (IPluginExecutionContext) serviceProvider.GetService(typeof(IPluginExecutionContext));
        var serviceFactory = (IOrganizationServiceFactory) serviceProvider.GetService(typeof(IOrganizationServiceFactory));
        var service = serviceFactory.CreateOrganizationService(context.UserId);
        if (!context.InputParameters.Contains("Target") || !(context.InputParameters["Target"] is Entity)
        {
            返回;
        }

        var entity = (Entity) context.InputParameters["Target"];
        var isLoginEnabled = HasLoginEnabled(entity);
        
        如果(isLoginEnabled == false)
        {
            返回;
        }

        试试
        {
            var emailAddress = (string) entity["emailaddress1"];
            var contactsWithSameEmailAddress = GetContactsByEmailAddress(service, entity.Id, emailAddress);
            如果(contactsWithSameEmailAddress.Entities.Count > 0)
            {
                var hasLoginEnabled = HasLoginEnabled(contactsWithSameEmailAddress.Entities[0]);
                如果(hasLoginEnabled)
                {
                    throw new InvalidPluginExecutionException(OperationStatus.Failed、
                        "用户已经存在。尝试用不同的电子邮件地址来注册,或登录你现有的账户。");
                }

                var mergeRequest = new MergeRequest
                {
                    SubordinateId = entity.Id、
                    目标 = new EntityReference("contact", contactsWithSameEmailAddress.Entities[0].Id)、
                    UpdateContent = GetUpdateContent(entity)
                };
                var _ = (MergeResponse) service.Execute(mergeRequest);
                entity[CustomAttributeName] = true;
                service.Update(entity);
            }
            否则
            {
                var domain = emailAddress.Split('@')[1];
                如果(_publicDomains.Contains(domain))
                {
                    SendEmailAndDeactivateContact(service, tracingService, entity);
                }
                否则
                {
                    var contactsWithSameDomain = GetContactsByDomain(service, entity.Id, domain);
                    如果(contactsWithSameDomain.Entities.Count > 0)
                    {
                        entity["parentcustomerid"] = contactsWithSameDomain.Entities[0]["parentcustomerid"] ;
                        service.Update(entity);
                    }
                    否则
                    {
                        SendEmailAndDeactivateContact(service, tracingService, entity);
                    }
                }
            }
        }
        捕获(FaultException 前)。
        {
            抛出新的InvalidPluginExecutionException("ContactPostOperationPlugin发生错误。", ex);
        }
    }
关闭代码

GAL与CB Exchange Server Sync的同步性

CB Exchange Server Sync你可能已经知道,这是我们为微软Exchange服务器提供的内部同步工具。它的主要目的是在几个Exchange环境中,无缝地同步任何电子邮件、日历、联系人、笔记、任务和文件夹,同时完全在后台运行。

正如我们所有的软件解决方案的通常做法一样,我们不断寻找方法来改进和利用我们开发的产品的力量。结果是、 在CB Exchange Server Sync自我托管版本的最新更新中,我们发布了一个全新的附加组件,名为 CB GAL同步!你可能可以非常准确地猜到这个新插件的作用,但我们还是要继续解释。

除了电子邮件,日历,联系人,笔记,任务和文件夹,你现在可以同步你的全球地址列表与其他微软Exchange环境。这使得CB GAL同步是理想的解决方案,以解决所有的情况下,我们刚才描述的

安装是非常容易的,所以你不必花无休止的时间去弄清楚如何让整合开始运行。除了软件本身是直接的,我们还有 在线文件 和我们的 支持门户网站 为您提供。

你准备好开始同步你的全球地址列表了吗? 取得联系 与我们合作,我们将带你到那里去!


关于作者

Diogo Gouveia

作者 Diogo Gouveia

"在英国完成学业后,我加入了Connecting Software的营销团队,创建关于软件集成和其他各种IT主题的内容。如果你有任何意见或建议,请联系我"。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

For security, use of Google's reCAPTCHA service is required which is subject to the Google Privacy Policy and Terms of Use.