!!! Overview
The [{$pagename}] can change an attribute value on one or more LDAP entries based on:
* Value and [DN]s from on the command-line
* Values and [DN]s placed on in a file
* Value from command-line and [DN]s determined by [Search Filter|LDAP SearchFilters]

%%information
We reccomend you use [Apache Directory Studio's Batch Operation|https://directory.apache.org/studio/users-guide/ldap_browser/tools_batchoperation_wizard.html|target='_blank']
%% 


%%error
[Use Entirely at Your Own Risk|Standard Disclaimer]
[CISUS.COM] nor anyone else is responsible if you use a tool or any information on this site and  causes damages to anyone or anything!  [You are required to read Our Standard Disclaimer|Standard Disclaimer]
%% 

!! Usage

! Replace Values
__WARNING__

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.
!Optimize Modification
We have implemented a performance option called [Optimize Modify].

You may not want to implement the [Optimize Modify] option if you want to replace all values with the new value.

!Command-line Option
This option will update all users that are specified on the command-line with the attributeName:AttributeValue as specified.

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"
}}}

!Filter and Base Option
This option will update all users that match the filer and base as done in a search with the attributeName:AttributeValue as specified.
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 -O -a "carLicense:nick" -b "ou=people,,dc=yourdomain,dc=com" -f "(objectCLass=*)"
}}}


! File Option
This option will update each users specified within the file attributeName:AttributeValue as specified at the beginning of the line.

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
}}}

!! Command Line Options
{{{
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.
}}}    

!![Standard Disclaimer|Standard Disclaimer]

!![Copyright And Intellectual Property Information|Copyright And Intellectual Property Page]

!![Java Versions And Running These Programs|Java Versions And Running Programs]


!![Download LDAP Bulk Attribute Update Tool|LDAP Bulk Attribute Update Tool/LDAPBulkAttributeUpdateTool.Z]
    [Download LDAP Bulk Attribute Update Tool|LDAP Bulk Attribute Update Tool/LDAPBulkAttributeUpdateTool.Z]
    
![Contact us for more information|mailto:info@ldapwiki.com?subject=Comment from ldapwiki on LDAP Bulk Attribute Update Tool]

!! More Information
There might be more information for this subject on one of the following:
[{ReferringPagesPlugin before='*' after='\n' }]