1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-03 13:47:25 +03:00

samba-tool: changed samba-tool user delete to use samdb instead of Net()

this makes it possible to use with -H, so you can delete users on
remote DCs or against local databases
This commit is contained in:
Andrew Tridgell 2011-08-15 12:07:50 +10:00
parent 75a90a952b
commit 23b1d09a5f

View File

@ -106,21 +106,29 @@ class cmd_user_add(Command):
class cmd_user_delete(Command):
"""Delete a user."""
"""Delete a user"""
synopsis = "%prog user delete <username> [options]"
synopsis = "%prog user delete <username>"
takes_args = ["name"]
takes_options = [
Option("-H", "--URL", help="LDB URL for database or target server", type=str,
metavar="URL", dest="H"),
]
takes_args = ["username"]
def run(self, username, credopts=None, sambaopts=None, versionopts=None, H=None):
def run(self, name, credopts=None, sambaopts=None, versionopts=None):
lp = sambaopts.get_loadparm()
creds = credopts.get_credentials(lp, fallback_machine=True)
net = Net(creds, lp, server=credopts.ipaddress)
try:
net.delete_user(name)
except RuntimeError, msg:
raise CommandError("Failed to delete user '%s': %s" % (name, msg))
try:
samdb = SamDB(url=H, session_info=system_session(),
credentials=creds, lp=lp)
samdb.deleteuser(username)
except Exception, e:
raise CommandError('Failed to remove user "%s"' % username, e)
print("Deleted user %s" % username)
class cmd_user_enable(Command):