更改多个UID的单个属性值';在LDAP中同时使用s

更改多个UID的单个属性值';在LDAP中同时使用s,ldap,forgerock,apache-directory,Ldap,Forgerock,Apache Directory,我有一个LDAP中存在的几个用户的uid列表,我需要将所有这些uid的一个属性的值替换为一个新值。有没有一种方法可以通过ApacheDirectoryStudio一次完成此任务,而无需手动编辑每个条目。我对此很陌生,这不是我的专业领域。另外,我知道只有Apache Directory Studio可以处理LDAP值。如果有人能提供相同的输入,那就太好了。在Apache Directory Studio中,您可以右键单击一个连接并选择“导入”,然后选择“LDIF导入”。文件看起来像这样 dn: c

我有一个LDAP中存在的几个用户的uid列表,我需要将所有这些uid的一个属性的值替换为一个新值。有没有一种方法可以通过ApacheDirectoryStudio一次完成此任务,而无需手动编辑每个条目。我对此很陌生,这不是我的专业领域。另外,我知道只有Apache Directory Studio可以处理LDAP值。如果有人能提供相同的输入,那就太好了。

在Apache Directory Studio中,您可以右键单击一个连接并选择“导入”,然后选择“LDIF导入”。文件看起来像这样

dn: cn=user1FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
replace: TheAttribute
TheAttribute: NewValue
-

dn: cn=user2FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
replace: TheAttribute
TheAttribute: NewValue
-

dn: cn=user3FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
replace: TheAttribute
TheAttribute: NewValue
-
当我试图在许多帐户上设置相同的值时,我将编写一个快速脚本来获取用户DNs列表并编写其余的LDIF内容

其中“dn”值是每个用户的完全限定dn,属性是要更新的属性的名称,NewValue是要写入属性的值

在使用LDIF导入更改时要小心——您可以很快地引入大量更改,但也可以很快地搞乱许多帐户。您需要理解更新属性的“changetype:modify”(更新可能是删除属性,但changetype仍然是modify)和删除对象的“changetype:delete”之间的区别。您还需要了解如何修改/删除操作。使用“changetype:modify”和“delete:TheAttribute”将删除属性中的所有内容:

dn: cn=user1FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
delete: TheAttribute
-
如果要删除多值属性的单个值,则需要使用:

dn: cn=user1FQDN,ou=OrgUnit,o=MyOrg
changetype: modify
delete: TheAttribute
TheAttribute: ValueToDelete
-
指定要删除的属性