参照URL:
https://blogs.technet.microsoft.com/latam/2018/03/27/using-the-consistencyguid/
https://chinnychukwudozie.com/2015/04/10/matching-an-office-365-azure-cloud-user-identity-with-an-on-premise-active-directory-user-object/
https://mangolassi.it/topic/10178/azure-ad-connect-sync-issue/4 immutableID就是objectID[mS-DS-ConsistencyGuid]的base64编码 # 【AD服务器】
PS C:\Users\Administrator> (Get-ADUser -Identity test1).objectguid
Guid
----
198208a4-8cf1-4b27-89ba-297611c9b5e2 # 十进制显示
PS C:\Users\Administrator> (Get-ADUser -Identity test1 -Properties *).objectguid.tobytearray()
164
8
130
25
241
140
39
75
137
186
41
118
17
201
181
226 # 转换为16进制显示
A4 08 82 19 F1 8C 27 4B 89 BA 29 76 11 C9 B5 E2 # 默认十进制显示
PS C:\Users\Administrator> Get-ADUser -Identity test1 -Properties * | findstr /I mS-DS-ConsistencyGuid
mS-DS-ConsistencyGuid : {164,8,130,25,241,140,39,75,137,186,41,118,17,201,181,226} # 【Office365】
# 停止同步
Set-MsolDirSyncEnabled -EnableDirSync $false
#请注意,你需要等待一段时间(MS表示长达72小时 - 它可以更快地发生,但它肯定需要一段时间,所以计划在停电窗口或周末,当你可以预期时这样做您的广告中很少或根本没有变化。
(GET-MSOLCompanyInformation).DirectorySynchronizationEnabled
True或False
(GET-MSOLCompanyInformation).DirectorySynchronizationStatus
==>PendingDisabled,Enabled或Disabled # 问题是,一旦我将用户移动到本地AD中未同步的测试OU,然后强制同步,我仍然无法设置immutableID并且收到错误:
Set-MsolUser:Uniqueness violation。Property: SourceAnchor.
At line:1 char:1 # 这是因为当o365看到该帐户不再来自AD时,它将其移至已删除的用户。我找到了用户:
Get-MsolUser -ReturnDeletedUsers | fl
# 果然,immutableID与我试图设置的匹配。
# 我用以下方法清除了用户:
Remove-MsolUser -UserPrincipalName username@theirdomain.onmicrosoft.com -RemoveFromRecycleBin
# 然后OK
Set-MsolUser -UserPrincipalName user@domain.com -ImmutableId $ImmutableID # 云端获取ImmutableID属性值
PS C:\Users\goozgk> Get-MsolUser -UserPrincipalName test1@pat201808.onmicrosoft.com | select ImmutableID
ImmutableId
-----------
pAiCGfGMJ0uJuil2Ecm14g== # 将云端的ImmutableId转换为本地AD的mS-DS-ConsistencyGuid(16进制显示)
[system.convert]::FromBase64String("pAiCGfGMJ0uJuil2Ecm14g==") | %{$a += [System.String]::Format("{0:X}",$_)+" "};$result = $null;$result = $a.trimend();$result
A4 8 82 19 F1 8C 27 4B 89 BA 29 76 11 C9 B5 E2 # 将云端的ImmutableId转换为本地AD的mS-DS-ConsistencyGuid(10进制显示)
PS C:\Users\goozgk> [system.convert]::FromBase64String("pAiCGfGMJ0uJuil2Ecm14g==")
164
8
130
25
241
140
39
75
137
186
41
118
17
201
181
226 # 将云端的ImmutableId转换为本地AD的mS-DS-ConsistencyGuid(guid显示)
PS C:\Users\goozgk> [guid][system.convert]::FromBase64String("pAiCGfGMJ0uJuil2Ecm14g==")
Guid
----
198208a4-8cf1-4b27-89ba-297611c9b5e2 # 【ADDC connect服务器】
# 登陆AADConnect服务器,停止计划任务
Set-ADSyncScheduler -SyncCycleEnabled $false # 登陆AADConnect服务器,执行增量同步任务
Start-ADSyncSyncCycle -PolicyType Delta # 登陆AADConnect服务器,执行全量同步任务
Start-ADSyncSyncCycle -PolicyType Initial # 【GUID和immutableID互相转换】
PS C:\Users\goozgk> $data_guid = "198208a4-8cf1-4b27-89ba-297611c9b5e2"
PS C:\Users\goozgk> $immutableID = [system.convert]::ToBase64String( ([GUID]$data_guid).tobytearray() )
PS C:\Users\goozgk> $immutableID
pAiCGfGMJ0uJuil2Ecm14g== PS C:\Users\goozgk> $data_immutableID="pAiCGfGMJ0uJuil2Ecm14g=="
PS C:\Users\goozgk> $guid = [GUID]( [system.convert]::frombase64string($data_immutableID) )
PS C:\Users\goozgk> $guid
Guid
----
198208a4-8cf1-4b27-89ba-297611c9b5e2 # 【完整的匹配AD端的值到云端步骤】
# 获取AD用户的mS-DS-ConsistencyGuid
$guid = (Get-ADUser -Identity test1).objectguid # 转换为immutableid
$immutableid = [System.Convert]::ToBase64String($guid.tobytearray()) # 设定云端用户immutableid
Set-MsolUser -UserPrincipalName test1@pat201808.onmicrosoft.com -ImmutableId $immutableid
set-msoluser -userprincipalname test1@pat201808.onmicrosoft.com -ImmutableId "$null" # 执行同步
Start-ADSyncSyncCycle -PolicyType Initia

SSO+PHS 同步问题修正解决的更多相关文章

  1. sso单点登录系统(解决session共享)

    场景:假设一个用户将自己的登录信息提交到后台,如果session保存的信息分布在多台机器上,并且不共享,那么可能导致用户的登录信息出现短暂的丢失,为什么这样讲,因为用户访问服务器中间还要经过负载均衡服 ...

  2. 一次mysql主从同步问题及解决过程

    Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE MicrosoftInternetExplorer4 由于经常被抓取文章内容,在此附上博 ...

  3. dataguard不同步问题ora-16191解决

    公司的11g的dataguard主备不同步,检查步骤如下: Primary:查询主库的最大日志 SQL> select max(sequence#) from v$archived_log;SQ ...

  4. SQL 2012 发布与订阅实现数据同步 图解(解决 错误22022)

    概念参见:https://msdn.microsoft.com/zh-cn/library/ms151170.aspx 推送订阅 对于推送订阅,发布服务器将更改传播到订阅服务器,而无需订阅服务器发出请 ...

  5. MAC中使用APICloud同步代码错误解决办法

    在MAC上使用APICloud同步代码时出现错误,其实就是git位置的问题,简单点就是把路径映射下. 问题提示: Can't locate SVN/Core.pm in @INC (you may n ...

  6. 【java 多线程】多线程并发同步问题及解决方法

    一.线程并发同步概念 线程同步其核心就在于一个“同”.所谓“同”就是协同.协助.配合,“同步”就是协同步调昨,也就是按照预定的先后顺序进行运行,即“你先,我等, 你做完,我再做”. 线程同步,就是当线 ...

  7. Win10远程桌面 出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法

    升级至win10 最新版本18362,远程桌面连接Window Server时报错信息如下: 出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密Oracle修正. 解决方法: 运行 g ...

  8. Http 调用netty 服务,服务调用客户端,伪同步响应.ProtoBuf 解决粘包,半包问题.

    实际情况是: 公司需要开发一个接口给新产品使用,需求如下 1.有一款硬件设备,客户用usb接上电脑就可以,但是此设备功能比较单一,所以开发一个服务器程序,辅助此设备业务功能 2.解决方案,使用Sock ...

  9. Win10远程桌面出现 身份验证错误,要求的函数不受支持,这可能是由于CredSSP加密Oracle修正 解决方法

    升级至win10 最新版本10.0.17134,远程桌面连接Window Server时报错信息如下: 出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密Oracle修正. 解决方法: ...

随机推荐

  1. 周强 201771010141 《面向对象程序设计(Java)》第十一周学习总结

    实验十一   集合 实验时间 2018-11-8 1.实验目的与要求 (1) 掌握Vetor.Stack.Hashtable三个类的用途及常用API: Vector类实现了长度可变的数组. Stack ...

  2. Delphi编程之爬取贴吧多页帖子图片

    接着上一篇文章说一下我们如何爬取多页帖子的图片. 第一步,还是随便找个贴吧,这次我们就找图片相对较少的射雕英雄传吧. 把页面拉到最底下,在页码区域单击右键,选择检查. 在这里我们看到了页码的代码区域, ...

  3. Knowledge From Practice(JavaScript)

    1.HTML事件对象 onmouseover:鼠标移入事件 onmouseout:鼠标移出事件 onmousedown:鼠标落下事件 onmouseup:鼠标抬起事件 例子: onclick:鼠标点击 ...

  4. redis概述(一)

    什么是NoSql? 为了解决高并发.高可用.高可扩展,大数据存储等一系列问题而产生的数据库解决方案,就是NoSql. NoSql,叫非关系型数据库,它的全名Not only sql.它不能替代关系型数 ...

  5. Flash Alternativa 3D引擎-基础理论

    自由行走的花 网站设计,flash网站设计与动画制作,web,as3 2010-12-31 14:29 [转]Flash Alternativa 3D引擎-基础理论 <本文转载自:http:// ...

  6. React项目中跨域问题的解决方案

    刚刚找到到通过creat-react-app创建的项目中跨域问题的解决方案,记录下来以备后用. 如果接口地址为:    http://my.example.com/eg-api  则配置package ...

  7. 软件测试_Fiddler抓包工具一

    多数资料摘抄至 https://www.cnblogs.com/miantest/p/7289694.html 一.在 macOS 下如何安装 (https://www.telerik.com/fid ...

  8. MHA-Atlas-MySQL高可用集群2

    MHA脚本管理方式 (1)获取管理脚本master_ip_failover 提示:yum安装的manager是没有这个脚本的. 我们需要从manager的源码包里复制一个.   [root@mysql ...

  9. Java入门练习之四则运算

    Java入门练习之四则运算 项目目的 制作一个Java控制台程序,让他可以随机生成四则运算,并针对用户的输入判断对错. 项目分析 该项目本质上是一个四则运算出题器,可以创建一个Question类,其中 ...

  10. 为什么以sys无法远程登录数据库

    今天通过pl/sql连接一个数据库,普通用户能连接上,但是sys就连接不上,告诉我用户名密码错误.之前其实遇到过这个问题,然后就开始查找原因.整个过程记录如下,结果是扎心的,过程也不是完全都懂.记下来 ...