为AD设置msExchMailboxGuid

时间:2017-06-22 07:45:13

标签: php ldap exchange-server-2010

我正在尝试使用php创建Exchange 2010邮箱。我已阅读a thread,提及import networkx as nx import matplotlib.pyplot as plt G = nx.Graph() G.add_edges_from([(1 ,2) , (2 ,3) , (1 ,3) , (1 ,4) ]) pos = { 1: (20, 30), 2: (40, 30), 3: (30, 10),4: (0, 40)} nx.draw_networkx(G, pos=pos) plt.show() 是创建邮箱所必需的。我正在使用adLDAP作为ldap功能的包装器。

我正在生成一个guid罚款,我只是无法弄清楚如何发送它所以AD喜欢它。我发送它的方式与使用guid作为十六进制字符串进行搜索的格式相同,我可以毫无问题地进行搜索。

尝试设置该属性时,我为该字段获取msExchMailboxGuid,从搜索中看起来似乎是长度问题。

这是我的指导:

Constraint violation

这是UTF-8十六进制:

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

我已经尝试过没有编码,斜线,没有斜线,斜线逃脱,普通弦指导,普通字符串guid没有破折号...我怎样才能发送它以便接受?

如果我不包含\fb\ee\ca\66\c0\df\30\4f\8d\83\6b\4d\4d\61\98\cf,则会成功创建AD帐户,但不存在邮箱。

1 个答案:

答案 0 :(得分:1)

在创建/修改用户时,Active Directory期望msExchMailboxGuid是二进制值。您使用十六进制值处于正确的轨道上。取不带斜线的十六进制并将其传递给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内容。