当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何将 ImmutableId 转换为 ObjectGuid 并返回

作者:精品下载站 日期:2024-12-14 20:56:25 浏览:14 分类:玩电脑

如何将 ImmutableId 转换为 ObjectGuid 并返回


[玩转系统] 如何将 ImmutableId 转换为 ObjectGuid 并返回

在本地 Active Directory 和 Azure AD 之间的默认混合集成中,Azure AD Connect 服务器使用以下属性链接用户对象:

  • 本地 AD 用户:ObjectGuid
  • Azure AD 用户:ImmutableId

然而,如果你比较这两个物体,一切看起来都有点奇怪!

这是本地 AD 中用户对象的输出:

PS C:\> Get-ADUser tycho.brahe | fl userPrincipalName,objectGuid
 
userPrincipalName : [email protected]
objectGuid        : f7cc07d7-7c15-447d-876d-c01b0e5a9e38

这是 Azure AD 中用户对象的输出:

PS C:\> Get-MsolUser -UserPrincipalName "[email protected]" | fl userPrincipalName,ImmutableId
 
UserPrincipalName : [email protected]
ImmutableId       : 1wfM9xV8fUSHbcAbDlqeOA==

这是怎么回事?

问题是,该值在本地 AD 中表示为 GUID,在 Azure AD 中表示为 Base64 编码的文本字符串。

因此,为了验证两个对象是否正确链接,您必须将 guid 转换为 base64 或反之亦然。

将 ObjectGuid 转换为 ImmutableId

要将 guid 字符串转换为 PowerShell 中的 Base 64 字符串,请使用以下命令:

 [Convert]::ToBase64String([guid]::New("f7cc07d7-7c15-447d-876d-c01b0e5a9e38").ToByteArray())

这将生成类似于以下内容的输出:

PS C:\> [Convert]::ToBase64String([guid]::New("f7cc07d7-7c15-447d-876d-c01b0e5a9e38").ToByteArray())
1wfM9xV8fUSHbcAbDlqeOA==

将 ImmutableId 转换为 ObjectGuid

要将 Base64 字符串转换为 PowerShell 中的 guid,请使用以下简单命令:

[Guid]([Convert]::FromBase64String("1wfM9xV8fUSHbcAbDlqeOA=="))

输出将类似于以下内容:

PS C:\> [Guid]([Convert]::FromBase64String("1wfM9xV8fUSHbcAbDlqeOA=="))

Guid
----
f7cc07d7-7c15-447d-876d-c01b0e5a9e38

也许微软设计这个的时候受到了二战恩尼格玛编码机的启发?至少现在你知道如何破解密码......?

如何从 AD 用户和计算机管理 Office 365

Easy365Manager 是一个适用于 Active Directory 用户和计算机的小型管理单元,允许您直接在 AD 用户属性中管理 Office 365 许可证和邮箱。

例如,查看通过分配 Office 365 许可证来启用 Office 365 邮箱是多么容易:

[玩转系统] 如何将 ImmutableId 转换为 ObjectGuid 并返回

Easy365Manager 可以在短短几分钟内在任何具有 AD 用户和计算机的计算机上安装和配置,并且真正节省时间。

您甚至可以删除最后一个本地 Exchange 服务器。

如需完整的功能列表,请阅读此内容。

在此处下载功能齐全的 30 天试用版。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯