summaryrefslogtreecommitdiff
path: root/source4/scripting/python
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2011-06-01 14:46:04 +1000
committerAndrew Tridgell <tridge@samba.org>2011-06-01 17:24:36 +1000
commit1bc1ac0d084976fccf187526f7bd8d9ad818da10 (patch)
tree339f36c0e7a8d9c4483310e37ea986de1d79de3c /source4/scripting/python
parent7b3d8b6c908a37bb06e413dee406cebd29b99b3e (diff)
downloadsamba-1bc1ac0d084976fccf187526f7bd8d9ad818da10.tar.gz
samba-1bc1ac0d084976fccf187526f7bd8d9ad818da10.tar.bz2
samba-1bc1ac0d084976fccf187526f7bd8d9ad818da10.zip
samba-tool: improved error handling in user setexpiry
Diffstat (limited to 'source4/scripting/python')
-rw-r--r--source4/scripting/python/samba/netcmd/user.py6
-rw-r--r--source4/scripting/python/samba/samdb.py4
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