使用Microsoft Exchange自建电子邮件系统的企业,AD系统作为电子邮件系统的认证平台。作为办公环境的信息中心,AD账号已经关联诸多应用,可谓牵一发而动全身。实现AD账号同步创建对应的阿里邮箱组织架构,邮件系统实现平滑迁移并保持AD账号认证登入阿里邮箱,以实现统一的账号管理。
1. 同步对象为部门OU、账号user、邮箱组distribution group、以及邮件组内成员group user;
2. 同步支持DC或OU。如只同步某根OU,不需要同步的对象请勿放置根OU下,或通过给OU的url打上nombx字符标记,AD user的WWWHomePage打上nombx字符标记,安全组的WWWHomePage打上nombx字符标记,OU下的通讯组都同步不支持单个不同步。
3. 同步只做新增、禁用、更新操作,无法执行同步删除邮箱账号、邮件组、部门的操作(如更改sAMAccountName值等于和原邮箱账号解除同步关系,且会根据新的sAMAccountName值新建出邮箱账号)。
4. cn在阿里侧是“默认昵称”对内的,发给同域的账号收件人会看到来信账号显示名为“姓名(默认昵称)”; displayname在阿里侧是“自定义昵称”对外的,发给外部邮件收件人会看到来信账号显示名为设置的 “自定义昵称”。
同步支持的字段 1、如下是默认支持同步的字段,除账号名外,其他字段支持自定义,可选择AD任意属性字段进行同步; 2、可自定义的这些字段也支持不同步,如无需同步请提前告知。 | |
AD侧 | 邮箱侧 |
cn | 姓名 |
sAMAccountName | 账号名,默认邮箱地址@前缀 |
title | 职位 |
telephoneNumber | 工作电话 |
mobile | 手机 |
域别名/账号别名/独立多域账号 | |
displayname | 自定义昵称(你发到公司外的邮件,发件人将显示自定义昵称) |
暂无默认对应属性字段 | 默认昵称(企业内账号间可见) |
暂无默认对应属性字段 | 工号 |
组同步特殊说明 | |
通讯组 | 安全组 |
sAMAccountName要符合邮箱账号名格式 | sAMAccountName要符合邮箱账号名格式 |
Name可以中文 | Name可以中文 |
Mail要符合邮箱地址格式 | Mail要符合邮箱地址格式 |
组作用域可以全局或通讯 | 组作用域可以全局或通讯 |
组内成员可以同步 | 组内成员可以同步 |
外域组员需填写mail值 | 外域组员需填写mail值 |
做完认证原本的鉴权中心会从邮箱切到了AD系统,即当用户在客户端或网页端输入账号密码的时候,通过标准LDAP协议查询到企业的AD账号服务,由AD系统校验账号和密码的正确性,如果正确则返回给阿里邮箱告知可以登录。
1. 请务必在AD侧创建postmaster账号,且postmaster的userPrincipalname属性值必须填写与邮箱侧postmaster一样的地址,否则认证后将无法登录管理员邮箱。
2. AD服务器地址和端口需要在公网以供阿里邮箱调用。为保证AD服务的安全性,AD服务可以设置acl来源ip: 115.124.XX.XX 、59.82.XX.XX进行访问控制。
支持的三类场景:只做同步不做认证、只做认证不做同步、既做同步又做认证。三类场景略有区别,且有需要特别注意的地方。
场景 | 区别 |
只做同步 | 1. user的userPrincipalname可以与登录的邮箱地址不一致。 2. 不能同步密码,同步后邮箱账号是没有密码的,需要在邮箱域管进行密码设置才能登录阿里邮箱。 |
只做认证 | 1. 要求AD中所有需要认证登录的user中userPrincipalname(如有)字段有 email 地址值, 且该值与登录的邮箱地址保持一致。 2. 登录邮箱需使用AD账号密码,邮箱侧设置的密码无法登录邮箱。 |
同步认证都做 | 1. 除了postmaster其他user的userPrincipalname可以与登录的邮箱地址不一致。 2. 登录邮箱需使用AD账号密码,邮箱侧设置的密码无法登录邮箱。 |
打开“Active Directory 用户和计算机”,勾选上查看中的“高级功能”,否侧无法看到AD对象的属性。
部门或用户或邮件组对象,右键-属性-属性编辑器,找到所需的相关属性。
ps:点击任意属性键盘输入需要查找的属性首字母,可以快速找到所查属性。
如果同步出现较严重延迟,过了很久部门账号或邮件组都没同步至邮箱侧,建议刷新AD对象的任意非同步认证相关的关键属性值来触发同步。如果涉及到对象比较多,也可以通过如下指令进行批量操作。
方案1:直接打开cmd命令框
csvde -f C:\Users\Administrator\Desktop\20210908.csv -r "(objectClass=user)" -d "OU=小OU,OU=大OU,DC=xxx,DC=com" -l "SamAccountName,Mail"
ps:有一些特殊的值也不能直接导出,如 wWWHomePage,如果要修改可以参考方案2的 import-Csv 命令
方案2:通过PowerShell 的 AD模块实现
在管理工具中打开用于Windows PowerShell的ActiveDirectory 模块命令行窗口或打开命令提示符窗口输入PowerShell回车再输入import-module activedirectory 导入AD模块。
批量修改导出的csv中账号的相关属性
Import-Csv -Path C:\Users\Administrator\Desktop\20210908.csv | foreach {Get-ADUser -Identity $_.SamAccountName |Set-ADUser -email $_.mail -HomePage $_.wWWHomePage }