Office365 用户同步排错思路

今天同事找我帮忙看看为啥有个用户的邮件无法同步到Office365上。他的需求是用户A离开了公司,为了继续接收邮件,他已经在A上面删除了旧的邮箱信息,,然后把A的邮件作为一个新的smtp地址放在了B用户上,但是B的这个新地址就是无法同步上Office365。

豆子花了不少时间来拍错,最后发现其实根本的原因在于用户A在删除Proxyaddress和Mail之前已经disable了,然后在A上面的任何改动都不会同步到Office365,因此Office365上面会自动切断这个用户的登录,但是mailbox仍然保持着之前的所有记录!这样一来,因为旧的邮箱依然关联着A的邮件地址,B用户自然无法添加这个地址进去。

下面豆子事后诸葛亮,总结一下Office365 email信息不同步时候的排错顺序。

  1. 首先查看要同步的email的Office365的邮箱是否已经存在,这个可以手动的登录Office365 Exchange Admin web界面查询

    或者直接使用powershell 命令

比如下面命令是连接Office365,查询对应邮件的邮箱

$UserCredential = Get-Credential 
Connect-MsolService -Credential $UserCredential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session
get-mailbox -filter {Emailaddresses -like "*[email protected]*"} | select -expand emailaddresses

2. 如果邮箱不存在已有的记录,下一步需要查询AD上面是否已经创建了相关的记录。AD上在不同的对象上创建重复的邮件记录并不会报错,但是当同步到Office365的时候,任何重复冲突的对象都不会同步。这里豆子一般是检查 proxyaddresses和EMailaddress这两个属性。类似的,可以去通过图形工具ADSIEdit.msc, ADUC或者Exchange admin Console查看,不过最简单的还是通过Powershell命令

例:ADSIEdit截图

Powershell命令

#查询email,这个可以在ADUC用户的email界面下修改
get-aduser-Filter {Emailaddress -like "[email protected]"}
 
#查询proxyaddress,这个可以在ADSIEdit或者Exchange的管理界面里面才能修改
get-aduser -Filter {proxyaddresses -like "*[email protected]*"}

3. 还有一个常见的工具叫做IdFix,可以通过Office365的管理界面下载。

注意设置里面限制Search Base,不然默认整个森林会比较慢

查询结果如下 我可以很清楚的知道哪些地方同步有问题

4. 最后在Azure 的同步服务器上我们可以查看Sychronization Service Manager。这个地方可以看见同步的进度和哪些东西进行了同步。有的时候delta sync不工作的话,可以考虑full sync,当然后者的时间可能是几个小时了。

如果想知道为啥哪些东西同步了,有些没有同步,还可以查看Synchronization Rules Editor。

比如说下面划红线的规则就是disable的用户不同步,也就是造成豆子今早困扰的原因所在。

时间: 2024-10-14 08:39:45

Office365 用户同步排错思路的相关文章

rsync优缺点以及排错思路

rsync的优缺点 优点: 1.优点 可以使用增量进行备份,支持socket,几种(支持推拉,都是以客户端为参照) 2.远程shell同道还可以加密(ssh)传输,socket,需要加密传输,可以利用VPN服务或者ipsec服务. 3.绝大多数都是使用内网进行备份使用. 缺点: 1.大量小文件的时候,比对时间较长,有时候,同步过程中,rsync进程可能会停止或者僵死,如果小文件非常多就直接使用压缩包进行传输即可. 2.同步大文件的时候会出现中断的,未完成同步前是隐藏文件,可以通过续传(--par

rsync服务端排错思路

rsync服务端排错思路 查看rsync服务配置文件路径是否正确,正确的默认路径为/etc/rsyncd.conf 查看配置文件里host allow,host deny,允许的ip网段是否是允许客户端访问的ip网段 查看配置文件中path参数里的路径是否存在,权限是否正确(正常应为配置文件中的UID参数对应的属主和组) 查看rsync服务是否启动,查看命令为:ps -ef|grep rsync.端口是否存在netstat -lnt|grep 873 查看iptables防火墙和selinux是

微信端获取用户信息(思路)

微信公众号越来越多,对于我们程序员来说,也越来越需要了解微信端接口开发,下面是微信用户进入公众号后,公众号获取用户信息的思路. 当然了,我有代码,这里就只贴一点,主要的还是流程和查阅微信开发文档. appid和secret是登录微信公众号里面设置的,固定的,code是微信用户同意协议返回给前端的code,后台通过这三个参数,访问url获取openid和access_token,然后再根据url访问微信接口获取用户信息. 代码: 1 String requestUrl = "https://api

NFS使用mount挂载无法挂载出问题后的排错思路(七)

NFS使用mount挂载无法挂载出问题后的排错思路 首先确认NFS服务端配置和服务是OK的, 在服务端使用showmount -e localhost  检查 [[email protected] ~]# showmount -e localhost Export list for localhost: /data/r_shared 192.168.221.1/24 /data/w_shared 192.168.221.1/24 2.确认NFS客户端showmount是否OK [[email p

知方可补不足~SQL数据库用户的克隆,SQL集群的用户同步问题

我们知道在为sqlserver建立功能数据库时,通过会为库再建立一个登陆名,而这个登陆名时,只用来管理这个数据库,这是安全的,正确的. 我们在建立一个用户时,通过会把指定的数据库添加到“用户映射”里,这时你的用户与数据库就有了关系,在使用用户登陆时,你只能看到与该用户有映射关系的数据库! 在SQL的集群环境下,假设你有两台服务器,它们之间建立集群,这时,你希望把A服务器的数据库用户同步到B服务器上,你当然可以手动在B上建立一个SQL用户,但这时,你也必须重新建立一个数据库的映射关系,因为这时用户

强制TFS用户与计算机(域)用户同步

默认情况下,添加到域AD组中的账户不会立刻同步到TFS中. TFS每小时与域控制器同步一次,将计算机安全组中的账户添加到TFS中. 但是可以通过下面几种方式强制TFS立刻同步域中的账户: 1. 在TFS的团队项目中删除AD组账户,重新添加一次,即可将组中的用户全部添加到TFS中. 2. 可以调用TFS的用户同步的Web service (JobService) 强制TFS用户与计算机(域)用户同步

mysql5.5主从同步排错

Slave_SQL_Running: No mysql同步故障解决方法 Slave_SQL_Running: No mysql同步故障解决今天检查数据库发现一台MySQL Slave未和主机同步,查看Slave状态:mysql> show slave status\GSlave_IO_Running: YesSlave_SQL_Running: NoLast_Errno: 1062....Seconds_Behind_Master:NULL原因:1.程序可能在slave上进行了写操作2.也可能是

Kettle同步设计思路

最近在整理之前的同步的kettle代码,现把之前的kettle同步的思路记录在此. 1.同步流程图,下图是同步的整个流程图 2.外部的数据表,根据业务逻辑更新到服务器端的业务表,下图是其中的一个示例图: 这个的思路是:获取最新需同步的数据.分别查出药品分类ID.药品分类与分类关联ID以及药品ID(不存在,则生成新的UUID).查询数据库中药品分类ID的记录数是否存在(即是否不为0).首先插入或更新药品分类表 如果药品分类表中无该条记录,则通过同步标识字段查询出新插入的药品分类ID.插入药品分类关

SSH排错思路

SSH排错思路: 1.检查ifconfig的配置 2.检查ssh的rpm包 3.检查CRT连接虚拟机时候选择V2版本 4.检查selinux,是否setenforce 0 5.检查iptables 6.检查/etc/ssh/sshd/sshd_config: 1.第66行 PasswordAuthentication yes 2.第70行 ChallengeResponseAuthentication no 3.第81行 GSSAPIAuthentication yes 4.第83行 GSSAP