Skip to main content

Get a CSV formatted list, based on a custom set of LDAP attributes.

Project description

LDAP Attributes Selector

This command line program, allows you to query an LDAP server and retrieve a custom set of provided attributes. The results are given in CSV format, though they are not written to a CSV file unless explicitly specified.

Whenever an LDAP entry doesn't have any of the provided attributes, a None value is set, instead!.

Requirements

Make sure you meet the following requirements:

Also, note that when establishing an SSL connection, depending on the security settings in 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 ldapsearch tool, this program should work as well!.

Installation

You can install it with pip:

pip install ldap-attributes-selector

Usage

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

Examples

In the following example, an encrypted LDAP query (note the ldaps:// when specifying the LDAP server) is made, and the attributes name, mail and 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"

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for ldap-attributes-selector, version 0.2.5
Filename, size File type Python version Upload date Hashes
Filename, size ldap_attributes_selector-0.2.5-py3-none-any.whl (19.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size ldap-attributes-selector-0.2.5.tar.gz (6.0 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page