The LDAP Bulk Attribute Update Tool replaces ALL values with the new value. This may NOT be what you desire if updating a multi-valued attribute.
You may not want to implement the Optimize Modify option if you want to replace all values with the new value.
A typical command line using file option would be similar to:
--hostname ldap.yourdomain.com --port 389 --bindDN "cn=youradmin,dc=yourdomain,dc=com" -w secret -O -n -a "carLicense:nick" "cn=molly,ou=people,dc=yourdomain,dc=com"" "cn=scott,ou=people,dc=yourdomain,dc=com"
--hostname ldap.yourdomain.com --port 389 --bindDN "cn=youradmin,dc=yourdomain,dc=com" -w secret -O -n -O -a "carLicense:nick" -b "ou=people,,dc=yourdomain,dc=com" -f "(objectCLass=*)"
A typical command line using file option would be similar to:
--hostname ldap.yourdomain.com --port 389 --bindDN "cn=youradmin,dc=yourdomain,dc=com" -w secret -O -n -i "C:\mydata\common\java\LDAPTools\testfile.txt"The File Format is expected to be like:
carLicense:nick|cn=molly,ou=butler,ou=people,dc=willeke,dc=com carLicense:nick|cn=scott,ou=butler,ou=people,dc=willeke,dc=com description:Good looking babe!|cn=molly,ou=butler,ou=people,dc=willeke,dc=com
Usage: AttributeBulkChanger {options} dn1 [dn2 [dn3 [...]]] Available options include: -h, --hostname {host} The IP address or resolvable name to use to connect to the directory server. If this is not provided, then a default value of 'localhost' will be used. -p, --port {port} The port to use to connect to the directory server. If this is not provided, then a default value of 389 will be used. -D, --bindDN {dn} The DN to use to bind to the directory server when performing simple authentication. -w, --bindPassword {password} The password to use to bind to the directory server when performing simple authentication or a password-based SASL mechanism. -j, --bindPasswordFile {path} The path to the file containing the password to use to bind to the directory server when performing simple authentication or a password-based SASL mechanism. -Z, --useSSL Use SSL when communicating with the directory server. -q, --useStartTLS Use StartTLS when communicating with the directory server. -X, --trustAll Trust any certificate presented by the directory server. -K, --keyStorePath {path} The path to the file to use as the key store for obtaining client certificates when communicating securely with the directory server. -W, --keyStorePassword {password} The password to use to access the key store contents. -u, --keyStorePasswordFile {path} The path to the file containing the password to use to access the key store contents. -P, --trustStorePath {path} The path to the file to use as trust store when determining whether to trust a certificate presented by the directory server. -T, --trustStorePassword {password} The password to use to access the trust store contents. -U, --trustStorePasswordFile {path} The path to the file containing the password to use to access the trust store contents. -N, --certNickname {nickname} The nickname (alias) of the client certificate in the key store to present to the directory server for SSL client authentication. -o, --saslOption {name=value} A name-value pair providing information to use when performing SASL authentication. -a, --attr-value {attr:value} Attribute Name and Value for changes specified as attr:value. -b, --base {base} The base DN to search for entries for changes. -f, --filter {filter} The filter to determine for entries for modifications. -i, --inputFile {path} The path to the file containing the changes. If this is not provided, then the changes will be read from standard input or filter and base values. -O, --optimizeModify Ignore existing entries that already contain the value. If this is not provided, it will not be used -n, --doNotPerform Run but do not perform any modifications to existing entries. If this is not provided, Modifications will be performed. -H, -?, --help Display usage information for this program.