diff options
| author | Amitay Isaacs <amitay@gmail.com> | 2012-07-03 14:22:42 +1000 | 
|---|---|---|
| committer | Amitay Isaacs <amitay@gmail.com> | 2012-07-03 15:20:42 +1000 | 
| commit | 8768f4fc34c0a41f63bbbd0fe81e983dd5baa0b3 (patch) | |
| tree | e66191e636711a752e711d24126dc3c21811bdda /source4/scripting/python | |
| parent | 0365df93e61b44cbdd7270c48495a6b4ac251677 (diff) | |
| download | samba-8768f4fc34c0a41f63bbbd0fe81e983dd5baa0b3.tar.gz samba-8768f4fc34c0a41f63bbbd0fe81e983dd5baa0b3.tar.bz2 samba-8768f4fc34c0a41f63bbbd0fe81e983dd5baa0b3.zip | |
samba-tool: gpo: Add listcontainers subcommand to list containers using given GPO
Thanks to Denis Bonnenfant <denis.bonnenfant@diderot.org> for patch.
Diffstat (limited to 'source4/scripting/python')
| -rw-r--r-- | source4/scripting/python/samba/netcmd/gpo.py | 37 | 
1 files changed, 37 insertions, 0 deletions
| diff --git a/source4/scripting/python/samba/netcmd/gpo.py b/source4/scripting/python/samba/netcmd/gpo.py index 86c5465bb5..e32458ed47 100644 --- a/source4/scripting/python/samba/netcmd/gpo.py +++ b/source4/scripting/python/samba/netcmd/gpo.py @@ -652,6 +652,42 @@ class cmd_dellink(Command):          cmd_getlink().run(container_dn, H, sambaopts, credopts, versionopts) +class cmd_listcontainers(Command): +    """List all linked containers for a GPO""" + +    synopsis = "%prog <gpo> [options]" + +    takes_optiongroups = { +        "sambaopts": options.SambaOptions, +        "versionopts": options.VersionOptions, +        "credopts": options.CredentialsOptions, +    } + +    takes_args = ['gpo'] + +    takes_options = [ +        Option("-H", help="LDB URL for database or target server", type=str) +        ] + +    def run(self, gpo, H=None, sambaopts=None, credopts=None, +                versionopts=None): + +        self.lp = sambaopts.get_loadparm() +        self.creds = credopts.get_credentials(self.lp, fallback_machine=True) + +        self.url = dc_url(self.lp, self.creds, H) + +        samdb_connect(self) + +        msg = get_gpo_containers(self.samdb, gpo) +        if len(msg): +            self.outf.write("Container(s) using GPO %s\n" % gpo) +            for m in msg: +                self.outf.write("    DN: %s\n" % m['dn']) +        else: +            self.outf.write("No Containers using GPO %s\n" % gpo) + +  class cmd_getinheritance(Command):      """Get inheritance flag for a container""" @@ -966,6 +1002,7 @@ class cmd_gpo(SuperCommand):      subcommands["getlink"] = cmd_getlink()      subcommands["setlink"] = cmd_setlink()      subcommands["dellink"] = cmd_dellink() +    subcommands["listcontainers"] = cmd_listcontainers()      subcommands["getinheritance"] = cmd_getinheritance()      subcommands["setinheritance"] = cmd_setinheritance()      subcommands["fetch"] = cmd_fetch() | 
