diff options
author | Andrew Tridgell <tridge@samba.org> | 2011-06-01 14:46:04 +1000 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2011-06-01 17:24:36 +1000 |
commit | 1bc1ac0d084976fccf187526f7bd8d9ad818da10 (patch) | |
tree | 339f36c0e7a8d9c4483310e37ea986de1d79de3c | |
parent | 7b3d8b6c908a37bb06e413dee406cebd29b99b3e (diff) | |
download | samba-1bc1ac0d084976fccf187526f7bd8d9ad818da10.tar.gz samba-1bc1ac0d084976fccf187526f7bd8d9ad818da10.tar.bz2 samba-1bc1ac0d084976fccf187526f7bd8d9ad818da10.zip |
samba-tool: improved error handling in user setexpiry
-rw-r--r-- | source4/scripting/python/samba/netcmd/user.py | 6 | ||||
-rw-r--r-- | source4/scripting/python/samba/samdb.py | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/source4/scripting/python/samba/netcmd/user.py b/source4/scripting/python/samba/netcmd/user.py index 15be4bb87f..6acf52d790 100644 --- a/source4/scripting/python/samba/netcmd/user.py +++ b/source4/scripting/python/samba/netcmd/user.py @@ -151,7 +151,11 @@ class cmd_user_setexpiry(Command): samdb = SamDB(url=H, session_info=system_session(), credentials=creds, lp=lp) - samdb.setexpiry(filter, days*24*3600, no_expiry_req=noexpiry) + try: + samdb.setexpiry(filter, days*24*3600, no_expiry_req=noexpiry) + except Exception, msg: + raise CommandError("Failed to set expiry for user %s: %s" % (username or filter, msg)) + print("Set expiry for user %s to %u days" % (username or filter, days)) class cmd_user(SuperCommand): """User management [server connection needed]""" diff --git a/source4/scripting/python/samba/samdb.py b/source4/scripting/python/samba/samdb.py index 2cea198e6b..a5c627e5b5 100644 --- a/source4/scripting/python/samba/samdb.py +++ b/source4/scripting/python/samba/samdb.py @@ -108,6 +108,8 @@ userAccountControl: %u """ res = self.search(base=self.domain_dn(), scope=ldb.SCOPE_SUBTREE, expression=search_filter, attrs=[]) + if len(res) == 0: + raise Exception('Unable to find user "%s"' % search_filter) assert(len(res) == 1) user_dn = res[0].dn @@ -411,6 +413,8 @@ unicodePwd:: %s res = self.search(base=self.domain_dn(), scope=ldb.SCOPE_SUBTREE, expression=search_filter, attrs=["userAccountControl", "accountExpires"]) + if len(res) == 0: + raise Exception('Unable to find user "%s"' % search_filter) assert(len(res) == 1) user_dn = res[0].dn |