diff options
-rw-r--r-- | source4/scripting/python/samba/join.py | 14 | ||||
-rw-r--r-- | source4/scripting/python/samba/netcmd/join.py | 2 |
2 files changed, 9 insertions, 7 deletions
diff --git a/source4/scripting/python/samba/join.py b/source4/scripting/python/samba/join.py index b0feee375d..ecc225ae3b 100644 --- a/source4/scripting/python/samba/join.py +++ b/source4/scripting/python/samba/join.py @@ -40,7 +40,7 @@ class join_ctx: pass def join_rodc(server=None, creds=None, lp=None, site=None, netbios_name=None, - targetdir=None): + targetdir=None, domain=None): """join as a RODC""" if server is None: @@ -77,16 +77,18 @@ def join_rodc(server=None, creds=None, lp=None, site=None, netbios_name=None, res = samdb.search(base="", scope=ldb.SCOPE_BASE, attrs=["dnsHostName"]) return res[0]["dnsHostName"][0] + def get_domain_name(samdb): + '''get netbios name of the domain from the partitions record''' + partitions_dn = samdb.get_partitions_dn() + res = samdb.search(base=partitions_dn, scope=ldb.SCOPE_ONELEVEL, attrs=["nETBIOSName"], + expression='ncName=%s' % samdb.get_default_basedn()) + return res[0]["nETBIOSName"][0] + def get_mysid(samdb): res = samdb.search(base="", scope=ldb.SCOPE_BASE, attrs=["tokenGroups"]) binsid = res[0]["tokenGroups"][0] return samdb.schema_format_value("objectSID", binsid) - def get_domain_name(samdb): - # this should be done via CLDAP - res = samdb.search(base=samdb.get_default_basedn(), scope=ldb.SCOPE_BASE, attrs=["name"]) - return res[0]["name"][0] - def join_add_objects(ctx): '''add the various objects needed for the join''' print "Adding %s" % ctx.acct_dn diff --git a/source4/scripting/python/samba/netcmd/join.py b/source4/scripting/python/samba/netcmd/join.py index 34fd5dec3d..ec8cd11122 100644 --- a/source4/scripting/python/samba/netcmd/join.py +++ b/source4/scripting/python/samba/netcmd/join.py @@ -64,7 +64,7 @@ class cmd_join(Command): elif role == "MEMBER": secure_channel_type = SEC_CHAN_WKSTA elif role == "RODC": - join_rodc(server=server, creds=creds, lp=lp, + join_rodc(server=server, creds=creds, lp=lp, domain=domain, site=site, netbios_name=netbios_name) return else: |