Lines 115-127
class cmd_domain_join(Command):
Link Here
|
115 |
Option("--domain-critical-only", |
115 |
Option("--domain-critical-only", |
116 |
help="only replicate critical domain objects", |
116 |
help="only replicate critical domain objects", |
117 |
action="store_true"), |
117 |
action="store_true"), |
|
|
118 |
Option("--machinepass", type=str, metavar="PASSWORD", |
119 |
help="choose machine password (otherwise random)") |
118 |
] |
120 |
] |
119 |
|
121 |
|
120 |
takes_args = ["domain", "role?"] |
122 |
takes_args = ["domain", "role?"] |
121 |
|
123 |
|
122 |
def run(self, domain, role=None, sambaopts=None, credopts=None, |
124 |
def run(self, domain, role=None, sambaopts=None, credopts=None, |
123 |
versionopts=None, server=None, site=None, targetdir=None, |
125 |
versionopts=None, server=None, site=None, targetdir=None, |
124 |
domain_critical_only=False, parent_domain=None): |
126 |
domain_critical_only=False, parent_domain=None, machinepass=None): |
125 |
lp = sambaopts.get_loadparm() |
127 |
lp = sambaopts.get_loadparm() |
126 |
creds = credopts.get_credentials(lp) |
128 |
creds = credopts.get_credentials(lp) |
127 |
net = Net(creds, lp, server=credopts.ipaddress) |
129 |
net = Net(creds, lp, server=credopts.ipaddress) |
Lines 137-162
class cmd_domain_join(Command):
Link Here
|
137 |
if role is None or role == "MEMBER": |
139 |
if role is None or role == "MEMBER": |
138 |
(join_password, sid, domain_name) = net.join_member(domain, |
140 |
(join_password, sid, domain_name) = net.join_member(domain, |
139 |
netbios_name, |
141 |
netbios_name, |
140 |
LIBNET_JOIN_AUTOMATIC) |
142 |
LIBNET_JOIN_AUTOMATIC, |
|
|
143 |
machinepass=machinepass) |
141 |
|
144 |
|
142 |
self.outf.write("Joined domain %s (%s)\n" % (domain_name, sid)) |
145 |
self.outf.write("Joined domain %s (%s)\n" % (domain_name, sid)) |
143 |
return |
146 |
return |
144 |
elif role == "DC": |
147 |
elif role == "DC": |
145 |
join_DC(server=server, creds=creds, lp=lp, domain=domain, |
148 |
join_DC(server=server, creds=creds, lp=lp, domain=domain, |
146 |
site=site, netbios_name=netbios_name, targetdir=targetdir, |
149 |
site=site, netbios_name=netbios_name, targetdir=targetdir, |
147 |
domain_critical_only=domain_critical_only) |
150 |
domain_critical_only=domain_critical_only, |
|
|
151 |
machinepass=machinepass) |
148 |
return |
152 |
return |
149 |
elif role == "RODC": |
153 |
elif role == "RODC": |
150 |
join_RODC(server=server, creds=creds, lp=lp, domain=domain, |
154 |
join_RODC(server=server, creds=creds, lp=lp, domain=domain, |
151 |
site=site, netbios_name=netbios_name, targetdir=targetdir, |
155 |
site=site, netbios_name=netbios_name, targetdir=targetdir, |
152 |
domain_critical_only=domain_critical_only) |
156 |
domain_critical_only=domain_critical_only, |
|
|
157 |
machinepass=machinepass) |
153 |
return |
158 |
return |
154 |
elif role == "SUBDOMAIN": |
159 |
elif role == "SUBDOMAIN": |
155 |
netbios_domain = lp.get("workgroup") |
160 |
netbios_domain = lp.get("workgroup") |
156 |
if parent_domain is None: |
161 |
if parent_domain is None: |
157 |
parent_domain = ".".join(domain.split(".")[1:]) |
162 |
parent_domain = ".".join(domain.split(".")[1:]) |
158 |
join_subdomain(server=server, creds=creds, lp=lp, dnsdomain=domain, parent_domain=parent_domain, |
163 |
join_subdomain(server=server, creds=creds, lp=lp, dnsdomain=domain, parent_domain=parent_domain, |
159 |
site=site, netbios_name=netbios_name, netbios_domain=netbios_domain, targetdir=targetdir) |
164 |
site=site, netbios_name=netbios_name, netbios_domain=netbios_domain, targetdir=targetdir, |
|
|
165 |
machinepass=machinepass) |
160 |
return |
166 |
return |
161 |
else: |
167 |
else: |
162 |
raise CommandError("Invalid role '%s' (possible values: MEMBER, DC, RODC, SUBDOMAIN)" % role) |
168 |
raise CommandError("Invalid role '%s' (possible values: MEMBER, DC, RODC, SUBDOMAIN)" % role) |
163 |
- |
|
|
164 |
-- |
165 |
selftest/target/Samba4.pm | 4 ++++ |
169 |
selftest/target/Samba4.pm | 4 ++++ |
166 |
1 files changed, 4 insertions(+), 0 deletions(-) |
170 |
1 files changed, 4 insertions(+), 0 deletions(-) |