List users:
ldapsearch -LLL -H ldap://wspace.mydomain.com -x -D 'WSPACE\ENUMuser' -w 'ENUMpass' -E pr=1000/noprompt -b 'ou=mydomain,dc=wspace,dc=mydomain,dc=com' '(&(objectClass=person)(uidNumber=*))' SAMAccountName uid uidNumber
<snip>
dn: CN=A. Prentice,OU=Staff,OU=Users,OU=MYDOMAIN,DC=wspace,DC=mydomain,DC=com
sAMAccountName: U1234567
uid: U1234567
uidNumber: 41234567
<snip>
# pagedresults: cookie=
Let's break that down:
ldapsearch # the command itself
-LLL # just a particular way to display the results
-H ldap://wspace.mydomain.com # the URL where the LDAP server listens
-x # use simple authentication, not SASL
-D 'WSPACE\ENUMuser' # the account to use to authenticate to LDAP
-w 'ENUMpass' # the password that goes with the account on the previous line
-E pr=1000/noprompt # ask the server for all pages, don't stop after one
-b 'ou=mydomain,dc=wspace,dc=mydomain,dc=com' # the base of the search. We don't want results from e.g. 'ou=blah,dc=wspace,dc=mydomain,dc=com'
'(&(objectClass=person)(uidNumber=*))' # Ask for any entry that has attributes objectClass=person and uidNumber has a value
SAMAccountName uid uidNumber # Show only these attributes
List the bulk of machines:
ldapsearch -LLL -H ldap://wspace.mydomain.com -x -D 'WSPACE\ENUMuser' -w 'ENUMpass' -E pr=1000/noprompt -b 'ou=computers,ou=mydomain,dc=wspace,dc=mydomain,dc=com' name|grep ^name:
... list a few more:
ldapsearch -LLL -H ldap://wspace.mydomain.com -x -D 'WSPACE\ENUMuser' -w 'ENUMpass' -b 'cn=computers,dc=wspace,dc=mydomain,dc=com'
... and yet more:
ldapsearch -LLL -H ldap://wspace.mydomain.com -x -D 'WSPACE\ENUMuser' -w 'ENUMpass' -b 'ou=extra workstations,ou=computers,ou=mydomain,dc=wspace,dc=mydomain,dc=com'