次のようにldapクエリでいくつかの属性を取得しようとしています:
import win32com.client
ldap="SELECT cn, displayName From 'LDAP://DC=abc,DC=com' WHERE legacyExchangeDN = '{}'"
c = win32com.client.Dispatch('ADODB.Connection')
c.Open('Provider=ADsDSOObject')
rs,rc = c.Execute(ldap.format(dn))
while not rs.EOF:
for e in rs.fields:
print('{}: {}'.format(e.Name, e.Value))
print()
rs.MoveNext()
ただし、dn が次の 2 つの値の場合は機能しません。
/o=sinotrans/ou=First Administrative Group/cn=Configuration/cn=Servers/cn=myserver/cn=Microsoft Public MDB
/o=sinotrans/ou=first administrative group/cn=configuration/cn=servers/cn=myserver/cn=microsoft system attendant
交換対象はActive Directoryユーザーとは違うと思います。しかし、ldap クエリ式を変更するにはどうすればよいでしょうか? どんな提案でも大歓迎です。