1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
| import sys
# Find right direction when running from source tree
sys.path.insert(0, "/usr/local/samba/lib/python2.7/site-packages")
# make sure the script dies immediately when hitting control-C,
# rather than raising KeyboardInterrupt. As we do all database
# operations using transactions, this is safe.
import signal
signal.signal(signal.SIGINT, signal.SIG_DFL)
#Importation de la bonne classe
from samba.netcmd.main import cmd_sambatool
cmd = cmd_sambatool() #on declare cmd un objet de la classe
subcommand = "user" #On utilise la commande user de la classe cmd_sambatool
args = ("add","zaaa","Zaaa!?4","--surname=zaa","--initials=zzaa") #args prend la valeur de l'action a executer et on lui fournit les informations/Options necessaires !!
#Ici declaration d'une nouvelle action a utiliser
args2 = ("delete", "zii")
if len(sys.argv) > 1:
subcommand = sys.argv[1]
if len(sys.argv) > 2:
args = sys.argv[2:]
args2 = sys.argv[2:]
try:
retval = cmd._run("samba-tool", subcommand, *args) #_run execute la bonne commande
except SystemExit, e:
retval = e.code
except Exception, e:
cmd.show_command_error(e)
retval = 1
try:
retval = cmd._run("samba-tool", subcommand, *args2)
except SystemExit, e:
retval = e.code
except Exception, e:
cmd.show_command_error(e)
retval = 1
sys.exit(retval) |
Partager