Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Exchange server 以编程方式向Exchange 03/07邮箱添加别名的最简单方法?_Exchange Server_Alias - Fatal编程技术网

Exchange server 以编程方式向Exchange 03/07邮箱添加别名的最简单方法?

Exchange server 以编程方式向Exchange 03/07邮箱添加别名的最简单方法?,exchange-server,alias,Exchange Server,Alias,我们目前有一个特定的格式来定义我们的电子邮件地址,基于名称。这个系统起源于一段时间以前,现在开始成为一个障碍 我们希望采用一种新的格式,基于 <first name initial><second name initial><last name>@organisation.com @organization.com 但是,我们不只是想重命名邮箱等,而是选择为所有当前用户保留现有的电子邮件地址,而是为新用户使用新表单。此外,我们希望使用旧格式向所有邮箱添加邮

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

我们希望采用一种新的格式,基于

<first name initial><second name initial><last name>@organisation.com
@organization.com
但是,我们不只是想重命名邮箱等,而是选择为所有当前用户保留现有的电子邮件地址,而是为新用户使用新表单。此外,我们希望使用旧格式向所有邮箱添加邮件别名

有人能推荐一种相对简单的方法来通过代码添加这些别名吗?提取用户名详细信息不是问题,更重要的是,只需将别名添加到邮箱。我们目前正在为大多数用户运行Exchange2003,但即将进行2007年的迁移,2007年的奇数用户也是如此(目前这两台服务器并排运行)

我已经读到,所有exchange 2007管理都应该使用2007工具而不是像以前那样使用active directory来完成,因此所有这些都可以通过exchange 2007 API来执行吗?即使是对于2003年的“旧邮箱”(在exchange中称为旧邮箱)


基本上我只是在寻找一个好的方向;我从未真正为exchange编写过任何代码。谢谢

下面是一个MS KB,介绍如何通过扩展MAPI修改别名。看起来您需要Exchange开发人员工具包来完成此操作


最后,我发现Powershell是最简单的方式。下面是我最后使用的脚本的框架,显示了如何向每个邮箱添加附加地址:

$mailboxes = get-mailbox | sort Name

foreach($mailbox in $mailboxes)
{
    ...
    # Logic for working out the new address
    ...

    $mailbox.EmailAddresses += $newAddress
    $mailbox | set-mailbox
}

为了完整起见,此脚本是在新的Exchange2007服务器上运行的。我最初关心的是将地址添加到驻留在旧版2003服务器上的邮箱中,这不是问题;旧邮箱也已更新。

我是在回答问题后发布此消息的,但是您不使用收件人策略有什么原因吗?

主要原因是不熟悉exchange功能。我也更喜欢编写脚本,哈哈:)我可能仍然会使用脚本;这并不特别困难。