#!/usr/bin/python
#
-# add a new user to a Samba4 server
+# Enables a disabled user account on a Samba4 server
# Copyright Andrew Tridgell 2005
# Copyright Jelmer Vernooij 2008
# Released under the GNU GPL version 3 or later
#
+import os, sys
+
+sys.path.insert(0, os.path.join(os.path.dirname(sys.argv[0]), "../bin/python"))
import samba.getopt as options
import optparse
import pwd
-import sys
import ldb
-from auth import system_session
+from samba.auth import system_session
from samba.samdb import SamDB
-parser = optparse.OptionParser("setpassword [username] [options]")
+parser = optparse.OptionParser("enableaccount [username] [options]")
sambaopts = options.SambaOptions(parser)
parser.add_option_group(sambaopts)
parser.add_option_group(options.VersionOptions(parser))
if username is None:
print "username must be specified"
-creds = credopts.get_credentials()
-
lp = sambaopts.get_loadparm()
+
+creds = credopts.get_credentials(lp)
+
if opts.H is not None:
url = opts.H
else:
credentials=creds, lp=lp)
domain_dn = opts.base
-if opts.base is None:
- res = samdb.search("", scope=ldb.SCOPE_BASE,
- expression="(defaultNamingContext=*)",
- attrs=["defaultNamingContext"])
- assert(len(res) == 1 and res[0]["defaultNamingContext"] is not None)
- domain_dn = res[0]["defaultNamingContext"][0]
-else:
- domain_dn = opts.base
+if domain_dn is None:
+ domain_dn = SamDB.domain_dn(samdb)
filter = "(&(objectClass=user)(samAccountName=%s))" % username