Get a CSV formatted list, based on a custom set of LDAP attributes.
LDAP Attributes Selector
This command line program, allows you to query an LDAP server and retrieve a custom set of provided attributes.
This program offers the following features:
- Support for both anonymous and authenticated LDAP queries.
- Encrypted queries with SSL.
- Support for LDAP filters and LDAP paging (retrieve the total amount of entries, regardless of limitations imposed by the server)!.
- Export results to CSV.
Make sure you meet the following requirements:
You can install it with
pip install ldap-attributes-selector
First, some aspects of this tool to take into account:
- Results are shown in CSV format, but they aren't written to a file by default!.
- Note that whenever an LDAP entry doesn't have any of the provided attributes,
Nonevalue is set, instead!.
- When establishing an SSL connection, depending on the security settings on your LDAP server, you might gonna need to perform some additional configuration on your LDAP client!.
- As a general rule, if you are able to make an LDAP query with the
ldapsearchtool, this program should work as well!.
Here's the complete help output:
usage: ldap-attributes-selector [-h] [-u USERDN] [-S SIZELIMIT] [-f FILTER] [-w WRITETOCSV] [-v] SERVER BASEDN ATTRIBUTES Get a CSV formatted list, based on a custom set of LDAP attributes positional arguments: SERVER URI formatted address (IP or domain name) of the LDAP server BASEDN Specify the searchbase or base DN of the LDAP server ATTRIBUTES A set of comma separated LDAP attributes to list optional arguments: -h, --help show this help message and exit -u USERDN, --userdn USERDN Distinguished Name (DN) of the user to bind to the LDAP directory -S SIZELIMIT, --sizelimit SIZELIMIT The amount of per-page entries to retrieve (Default: 500) -f FILTER, --filter FILTER Specify an LDAP filter (Default: 'objectClass=*') -w WRITETOCSV, --writetocsv WRITETOCSV Write results to a CSV file!. -v, --version Show current version
In the following example, an encrypted LDAP query (note the
ldaps:// when specifying the LDAP server) is made, and the attributes
ipPhone are retrieved. Also, LDAP filter
objectClass=person is set:
ldap-attributes-selector ldaps://somecorp.com "dc=somecorp,dc=com" -u "cn=Joe,ou=Users,dc=somecorp,dc=com" "name,mail,ipPhone" -f objectClass=person
Unlike the previous example, on the following one, the query isn't encrypted and a different LDAP filter is used:
ldap-attributes-selector ldap://somecorp.com "dc=somecorp,dc=com" -u "uid=zimbra,cn=admins,cn=zimbra" "givenName,mail,zimbraAccountStatus" -f 'objectClass=inetOrgPerson'
This one is similar to the first one except that, this time, the retrieved results, are gonna be exported to a CSV file!:
ldap-attributes-selector ldaps://somecorp.com "dc=somecorp,dc=com" -u "cn=joe,ou=Users,dc=somecorp,dc=com" "name,mail,ipPhone" -f objectClass=person -w users.csv
If no user identity (in DN format!) is specified (
-u argument), an anonymous LDAP query is performed, as in the following example:
ldap-attributes-selector ldap://somecorp.com "dc=somecorp,dc=com" "sn,givenName,mail"
This program is licensed under the GPLv3.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for ldap-attributes-selector-0.2.7.tar.gz
Hashes for ldap_attributes_selector-0.2.7-py3-none-any.whl