1
0
mirror of https://github.com/samba-team/samba.git synced 2025-08-02 00:22:11 +03:00

samba-tool: add -b/--base-dn option to users list command

With this option it's e.g. possible to list the users of a
specify OU or users which are located under a different specific
place in the AD.

Signed-off-by: Jule Anger <ja@sernet.de>
Reviewed-by: Björn Baumbach <bb@samba.org>
Reviewed-by: Ralph Boehme <slow@samba.org>
This commit is contained in:
Jule Anger
2019-08-26 09:47:41 +02:00
committed by Stefan Metzmacher
parent 55be0f1d2f
commit d4de2e3192

View File

@ -481,6 +481,9 @@ class cmd_user_list(Command):
takes_options = [
Option("-H", "--URL", help="LDB URL for database or target server", type=str,
metavar="URL", dest="H"),
Option("-b", "--base-dn",
help="Specify base DN to use",
type=str),
Option("--full-dn", dest="full_dn",
default=False,
action='store_true',
@ -498,6 +501,7 @@ class cmd_user_list(Command):
credopts=None,
versionopts=None,
H=None,
base_dn=None,
full_dn=False):
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp, fallback_machine=True)
@ -505,8 +509,12 @@ class cmd_user_list(Command):
samdb = SamDB(url=H, session_info=system_session(),
credentials=creds, lp=lp)
domain_dn = samdb.domain_dn()
res = samdb.search(domain_dn, scope=ldb.SCOPE_SUBTREE,
search_dn = samdb.domain_dn()
if base_dn:
search_dn = samdb.normalize_dn_in_domain(base_dn)
res = samdb.search(search_dn,
scope=ldb.SCOPE_SUBTREE,
expression=("(&(objectClass=user)(userAccountControl:%s:=%u))"
% (ldb.OID_COMPARATOR_AND, dsdb.UF_NORMAL_ACCOUNT)),
attrs=["samaccountname"])