为 AD 设置 msExchMailboxGuid

Setting msExchMailboxGuid for AD

我正在尝试使用 php 创建 Exchange 2010 邮箱。我读过 a thread that mentions msExchMailboxGuid is required to create the mailbox. I'm using adLDAP 作为 ldap 功能的包装器。

我正在生成一个 guid,但我不知道如何发送它以便 AD 喜欢它。我发送它的方式与格式应该是使用 guid 作为十六进制字符串进行搜索一样,我可以毫无问题地进行搜索。

当尝试设置该属性时,我得到了该字段的 Constraint violation,从搜索来看这似乎是一个长度问题。

这是我的指南:

66caeefb-dfc0-4f30-8d83-6b4d4d6198cf

这里是 UTF-8 十六进制:

\fb\ee\ca\c0\dffdbdd\cf

我试过未编码、带斜杠、不带斜杠、转义斜杠、普通字符串 guid、不带破折号的普通字符串 guid...我如何发送它才能被接受?

如果我不包含 msExchMailboxGuid,AD 帐户创建成功但不存在邮箱。

Active Directory 期望 msExchMailboxGuid 是 creating/modifying 用户时的二进制值。您的十六进制值走在正确的轨道上。取不带斜线的十六进制并将其传递给hex2bin:

$mailboxGuid = hex2bin('fbeeca66c0df304f8d836b4d4d6198cf');

但是,您可能 运行 遇到的问题不仅仅是 GUID。如果您愿意使用单独的库,可以使用 LdapTools 库创建 Exchange 邮箱(Exchange 2010 - 2016):

https://github.com/ldaptools/ldaptools/blob/master/docs/en/cookbook/Creating-Exchange-Mailboxes.md

我建议使用较新的 AdLdap2 库,但我认为它不再支持库中的 Exchange 内容。