Repository navigation
Expand file tree
/
Copy pathejemplo7.py
More file actions
75 lines (47 loc) · 1.89 KB
/
Copy pathejemplo7.py
File metadata and controls
75 lines (47 loc) · 1.89 KB
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
'''
@author: mcanes
'''
import lib.gestionUsuarios as ad
import lib.db as db
import ConfigParser
from datetime import datetime, timedelta
import argparse
import logging
if __name__ == "__main__":
parser = argparse.ArgumentParser ( description='Gestion de un Active Directory desde python. Elimina un usuario del directorio' )
parser.add_argument('config' , action = "store", metavar='config', type=str, help='fichero de configuracion')
parser.add_argument('log' , action = "store", metavar='log', type=str, help='directorio donde volcar el log con los resultados')
parser.add_argument('fichero' , action = "store", metavar='usuarios', type=str, help='fichero con los usuarios que queremos eliminar')
args = parser.parse_args()
logger = logging.getLogger('gestionCuentasAD')
hdlr = logging.FileHandler( args.log )
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.INFO)
cfg = ConfigParser.ConfigParser()
if not cfg.read([ args.config ]):
logger.error ('Archivo de configuracion no encontrado :(')
else:
try:
nombre = cfg.get ( 'LDAP','nombre')
passwd = cfg.get ( 'LDAP','passwd')
basedn = cfg.get ( 'LDAP','basedn')
servidor = cfg.get ( 'LDAP','servidor')
except:
exit ()
ListaUsrs = ad.gestionUsuarios ( nombre, passwd, basedn, servidor )
try:
with open(args.fichero) as f:
content = f.readlines()
except Exception as e:
logger.error ( e )
exit()
for u in content:
login = u.replace('\n','')
#Posicion cero de resultado 0 1 indicando exito de la operacion, posicion 1 descripcion del error, si lo hubo:
resultado = ListaUsrs.borrarUsuario ( login )
if not resultado [0]:
logger.info('No se ha podido eliminar el usuario %s: %s'% (login, resultado[1] ))
else:
logger.info('Se ha eliminado el usuario %s'% login)