【问题标题】:Easiest way to programatically add aliases to Exchange 03/07 mailboxes?以编程方式向 Exchange 03/07 邮箱添加别名的最简单方法?
【发布时间】:2009-05-14 04:04:04
【问题描述】:

我们目前有一个基于名称定义电子邮件地址的特定格式。该系统起源于前一段时间,并开始成为一个障碍。

我们想转向一种新的格式,基于

<first name initial><second name initial><last name>@organisation.com

但是,我们不只是想重命名邮箱等,而是选择为所有当前用户保留现有电子邮件地址,而是为新用户使用新表单。此外,我们想为所有使用旧格式的邮箱添加一个邮件别名。

谁能建议一种相对直接的方法来通过代码添加这些别名?提取用户的姓名详细信息不是问题,只需将别名添加到邮箱即可。我们目前正在为大多数用户运行 Exchange 2003,但正处于 2007 年迁移的边缘,2007 年的奇数用户也是如此(目前两台服务器并排运行)。

我读过所有的 Exchange 2007 管理都应该使用 2007 工具完成,而不是像以前那样使用 Active Directory,因此所有这些都可以通过 Exchange 2007 API 执行,即使对于 2003“旧邮箱”也是如此(所谓的交换)?

基本上我只是在寻找一个好的方向去这里;我从来没有真正为交换做过任何编码。谢谢!

【问题讨论】:

    标签: exchange-server alias


    【解决方案1】:

    这是一个 MS KB,描述了通过扩展 MAPI 修改别名。看来您需要 Exchange 开发人员工具包才能执行此操作。

    http://support.microsoft.com/kb/183249

    【讨论】:

      【解决方案2】:

      我在回答问题后发布此内容,但您是否有任何理由不只使用收件人政策?

      【讨论】:

      • 基本上只是不熟悉交换功能是主要原因。我也更喜欢编写脚本,哈哈 :) 我可能仍然会使用脚本;这并不是特别困难。
      【解决方案3】:

      最后我发现 Powershell 是迄今为止最简单的方法。这是我最终使用的脚本框架,展示了如何向每个邮箱添加额外的地址:

      $mailboxes = get-mailbox | sort Name
      
      foreach($mailbox in $mailboxes)
      {
          ...
          # Logic for working out the new address
          ...
      
          $mailbox.EmailAddresses += $newAddress
          $mailbox | set-mailbox
      }
      

      为了完整起见,此脚本在新的 Exchange 2007 服务器上运行。我最初对将地址添加到旧 2003 服务器上的邮箱的担忧不是问题。旧邮箱也已更新。

      【讨论】:

        猜你喜欢
        • 2022-05-17
        • 1970-01-01
        • 2011-02-06
        • 2017-12-28
        • 2015-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-03-21
        相关资源
        最近更新 更多