如何通过ldapjs修改memberOf字段

How to modify memberOf field via ldapjs

当我尝试在创建成员期间在 JS dict 中传递 memberOf 字段时,甚至在 via

之后编辑它
const change = new Change({
    operation: 'replace',
    modification: {
        [field]: value
    }
});

return new Promise((resolve, reject) => {
    client.modify(dn, change, err => {
        client.destroy();
        if (err) {
            reject(err.message);
        }
        resolve();
    });
});

它只是抛出一个错误

(node:5136) UnhandledPromiseRejectionWarning: 0000209A: SvcErr: DSID-031A107A, 问题 5003 (WILL_NOT_PERFORM) , 数据 0

那么,我如何更改 AD 中的成员资格?

作为附带问题,我在哪里可以找到使用 ldapjs 的示例和好的文档?官方网站有点乏味

您无法更改 memberOf 属性。它是一个 Linked Attribute(也称为 "back-link")。该值是根据在其 member 属性中包含用户的组计算的。

因此,要将用户(或任何对象)添加到组中,您必须更改组的 member 属性。

AD 用户和计算机应用程序没有明确说明这一点,因为它允许您在用户属性的 "Member Of" 选项卡上将人员添加到组中。但实际上,它正在后台修改组的 member 属性。