0

当我尝试使用此代码更新 Active Directory 属性时:

dn = (
    "CN=user_ldap,OU=dept_name,OU=Application,"
    "OU=Service Accounts,OU=Domain Users,DC=company-corp,DC=global"
)

# define the server
server = ldap3.Server(
    "ldaps.company-corp.global", get_info=ldap3.ALL, port=636, use_ssl=True
)

# define the connection
conn = ldap3.Connection(server, dn, psw, auto_bind=True)

conn.start_tls()

userID = "jdoe"

# perform the Modify operation
conn.modify(
    f"CN={userID},OU=managed,OU=Domain Users,DC=company-corp,DC=global",
    {"displayName": [(ldap3.MODIFY_REPLACE, ["Doe, John D"])]},
)

print(conn.result)

我收到以下错误:

{'result': 32, 'description': 'noSuchObject', 'dn': 'OU=Managed,OU=Domain Users,DC=company-corp,DC=global', 'message': "0000208D: NameErr: DSID -03100241,问题 2001 (NO_OBJECT),数据 0,最佳匹配:\n\t'OU=Managed,OU=Domain Users,DC=ssnc-corp,DC=global'\n\x00", 'referrals':无,“类型”:“修改响应”}

请指教。

提前致谢。

4

1 回答 1

0

NO_OBJECT 错误通常意味着找不到具有指定 DN(在本例中为 cn=jdoe,ou=managed,ou=domain users,dc=company-corp,dc=global)的对象。当服务帐户无权读取记录或完全限定 DN 不正确时,可能会出现错误

要消除不正确的完全限定 DN,您可以尝试搜索对象(例如搜索 sAMAccountName=LogonIDGoesHere)并检索 DN 值。

要消除访问权限,您可以使用 Active Directory 用户和计算机检查帐户对对象的有效权限。在“安全”选项卡上,单击“高级”。在高级安全设置窗口中,单击“有效访问”选项卡。单击“选择用户”链接以选择您的服务帐户,然后单击“查看有效访问权限”以查看是否允许“阅读所有属性”或“阅读一般信息”之类的内容。

于 2020-09-04T04:42:47.350 回答