📄 enableaccount
字号:
#!/usr/bin/python## add a new user to a Samba4 server# Copyright Andrew Tridgell 2005# Copyright Jelmer Vernooij 2008# Released under the GNU GPL version 3 or later#import os, syssys.path.insert(0, os.path.join(os.path.dirname(sys.argv[0]), "../bin/python"))import samba.getopt as optionsimport optparseimport pwdimport ldbfrom samba.auth import system_sessionfrom samba.samdb import SamDBparser = optparse.OptionParser("enableaccount [username] [options]")sambaopts = options.SambaOptions(parser)parser.add_option_group(sambaopts)parser.add_option_group(options.VersionOptions(parser))credopts = options.CredentialsOptions(parser)parser.add_option_group(credopts)parser.add_option("-H", help="LDB URL for database or target server", type=str)parser.add_option("--base", help="Base DN to search for user under", type=str)opts, args = parser.parse_args()## print a message if quiet is not set#def message(text): if not opts.quiet: print textif len(args) == 0: parser.print_usage() sys.exit(1)username = args[0]if username is None: print "username must be specified"lp = sambaopts.get_loadparm()creds = credopts.get_credentials(lp)if opts.H is not None: url = opts.Helse: url = lp.get("sam database")samdb = SamDB(url=url, session_info=system_session(), credentials=creds, lp=lp)domain_dn = opts.baseif 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.basefilter = "(&(objectClass=user)(samAccountName=%s))" % usernameres = samdb.search(domain_dn, scope=ldb.SCOPE_SUBTREE, expression=filter, attrs=[])assert(len(res) == 1)user_dn = res[0].dnsamdb.enable_account(user_dn)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -