2017-06-22 61 views
0

我在尝试使用php创建Exchange 2010邮箱。我读过a thread,提到msExchMailboxGuid是创建邮箱所必需的。我使用adLDAP作为ldap功能的包装。为AD设置msExchMailboxGuid

我生成一个guid罚款,我只是不知道如何发送它,所以AD喜欢它。我发送它的格式应该是使用guid作为十六进制字符串进行搜索,我可以在没有问题的情况下进行搜索。

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

这里是我的GUID:

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

这是UTF-8十六进制:

\fb\ee\ca\66\c0\df\30\4f\8d\83\6b\4d\4d\61\98\cf

我已经尝试过作为未编码,用斜杠,没有斜线,与斜杠逃脱,简单的字符串GUID,没有破折号的纯字符串GUID ...我怎么发送它,所以它会被接受?

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

+1

我发现这个(https://social.technet.microsoft.com/Forums/windowsserver/en-US/04bc7c24-c43d-42e8-9cf7-f5a444dc65fd/creating-exchange-2013-mailbox-with-ldap这意味着如果你填充'mailNickname','msExchMailboxGuid'应该自动创建*(特别是在Exchange版本2010和2013上)* – Esteban

回答

1

当创建/修改用户时,Active Directory预计msExchMailboxGuid是一个二进制值。你在十六进制值的正确轨道上。以不带斜杠的十六进制格式传递给hex2bin:

$mailboxGuid = hex2bin('fbeeca66c0df304f8d836b4d4d6198cf'); 

但是,您可能遇到的问题不仅仅是GUID。如果你愿意使用一个单独的库,它可以创建Exchange邮箱(兑换2010至2016年)使用LdapTools库:

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

我建议新AdLdap2库,但我不认为它在本地库中支持Exchange的东西。

+0

我实际上已经切换到LdapTools并且成功了。我了解到,你不应该设置指导,但一些其他属性。之后,它像LdapTools一样魅力四射。感谢你的回答。与AD合作对我来说是非常新的! – Grant

相关问题