diff options
author | David Mulder <dmulder@suse.com> | 2021-11-04 08:42:06 -0600 |
---|---|---|
committer | David Mulder <dmulder@samba.org> | 2021-11-04 20:43:32 +0000 |
commit | 1fce72f796e44e9d7fc40f8f8052d08b5e0b2ec2 (patch) | |
tree | 75ae251d8855beaa4b974e4da251d234246d0931 /python | |
parent | 8082e2eb7e33c0993135791c03823886f5aa8496 (diff) | |
download | samba-1fce72f796e44e9d7fc40f8f8052d08b5e0b2ec2.tar.gz |
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
Diffstat (limited to 'python')
-rw-r--r-- | python/samba/netcmd/domain.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/python/samba/netcmd/domain.py b/python/samba/netcmd/domain.py index de6f2b0ca1d..eb52557212e 100644 --- a/python/samba/netcmd/domain.py +++ b/python/samba/netcmd/domain.py @@ -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() |