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:
committed by
David Mulder
parent
8082e2eb7e
commit
1fce72f796
@ -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()
|
||||
|
Reference in New Issue
Block a user