1
0
mirror of https://github.com/samba-team/samba.git synced 2025-07-15 16:59:09 +03:00

samba-tool: Add domain member leave

Signed-off-by: David Mulder <dmulder@suse.com>
Reviewed-by: Rowland Penny <rpenny@samba.org>

Autobuild-User(master): David Mulder <dmulder@samba.org>
Autobuild-Date(master): Thu Nov  4 20:43:32 UTC 2021 on sn-devel-184
This commit is contained in:
David Mulder
2021-11-04 08:42:06 -06:00
committed by David Mulder
parent 8082e2eb7e
commit 1fce72f796

View File

@ -718,6 +718,36 @@ class cmd_domain_join(Command):
raise CommandError("Invalid role '%s' (possible values: MEMBER, DC, RODC)" % role)
class cmd_domain_leave(Command):
"""Cause a domain member to leave the joined domain."""
synopsis = "%prog [options]"
takes_optiongroups = {
"sambaopts": options.SambaOptions,
"versionopts": options.VersionOptions,
"credopts": options.CredentialsOptions,
}
takes_options = [
Option("--keep-account", action="store_true",
help="Disable the machine account instead of deleting it.")
]
takes_args = []
def run(self, sambaopts=None, credopts=None, versionopts=None,
keep_account=False):
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp)
s3_lp = s3param.get_context()
smb_conf = lp.configfile if lp.configfile else default_path()
s3_lp.load(smb_conf)
s3_net = s3_Net(creds, s3_lp)
s3_net.leave(keep_account)
class cmd_domain_demote(Command):
"""Demote ourselves from the role of Domain Controller."""
@ -4346,6 +4376,7 @@ class cmd_domain(SuperCommand):
subcommands["exportkeytab"] = cmd_domain_export_keytab()
subcommands["info"] = cmd_domain_info()
subcommands["join"] = cmd_domain_join()
subcommands["leave"] = cmd_domain_leave()
if is_ad_dc_built():
subcommands["demote"] = cmd_domain_demote()
subcommands["provision"] = cmd_domain_provision()