#!/usr/bin/perl use warnings; use strict; use Net::LDAP; use Net::LDAP::Util qw(ldap_error_text ldap_error_name); # Uses AD Account my $account = 'MYACCOUNT'; my $pwd = 'PASSWORT'; # Bind to LDAP my $ad = Net::LDAP->new("ldap://SERVER.DOMAIN") or die ("Could not connet to LDAP server."); $ad->bind( $account, password => $pwd, version => 3 ); my $base = "DC=DOMAIN"; my $filter = '(&(objectCategory=Group)(objectClass=group))'; my $attrs = "sAMAccountName, cn, displayName, mail, whenCreated, whenChanged, member, distinguishedName"; # Generate the search my $results = $ad->search(base=>$base,filter=>$filter,attrs=>$attrs); # Check if search has errors if ($results->code) { print "ERROR detected: -> ", ldap_error_name($results->code), " ", ldap_error_text($results->code); warn "ERROR - not LDAP_SUCCESS"; } my $count = $results->count; print "DEBUG: ".$count."\n"; $ad->unbind;