DekGenius.com
[ Team LiB ] Previous Section Next Section

Recipe 18.1 Accessing AD from a Non-Windows Platform

18.1.1 Problem

You want to access or manage AD from a non-Windows platform.

18.1.2 Solution

18.1.2.1 Using a graphical user interface

One of the best platform-neutral graphical user interfaces for managing an LDAP directory, such as Active Directory, is the LDAP Browser/Editor. It was written in Java and can run on virtually any machine that has Java 1.2.2 or greater installed. It can be downloaded from the following site: http://www.iit.edu/~gawojar/ldap/.

18.1.2.2 Using a command-line interface

The original LDAP server produced at the University of Michigan included a set of command-line utilities that can query and update an LDAP directory. Over time these tools have become very popular on the UNIX platforms, and they can even be used to query and update Active Directory. The OpenLDAP project took over maintenance of the University of Michigan's LDAP server and also the command-line tools. To download the latest version of the tools, go to the following site: http://www.openldap.org/.

18.1.2.3 Using a programming language

Any programming language that supports LDAP can be used to programmatically access and manage Active Directory. See the other recipes in this chapter for using Perl, Python, Java, and PHP.

18.1.3 Discussion

Due to the fact that LDAP is an open standard, it has been adopted on many platforms and programming languages. While you can perform 90% of the things you would need to do from a non-Windows platform, some tasks do still require a Windows GUI, CLI, or API. For example, there is no easy way to manage ACLs in Active Directory from a non-Windows platform. You can, however, do virtually anything you need to do as far as adding, modifying, and removing objects in Active Directory with the basic LDAP-enabled tools.

18.1.4 See Also

Recipe 18.4, Recipe 18.5, and Recipe 18.6 for more on how to programmatically query and update Active Directory using Perl, Java, and Python

    [ Team LiB ] Previous Section Next Section