Projet

Général

Profil

shadowlastchange_profs.py

Cédric Frayssinet, 23/03/2016 15:10

Télécharger (1,16 ko)

 
1
#!/usr/bin/python2.6
2

    
3
# -*- coding: utf-8 -*-
4

    
5
# Script python
6
#
7
# Modification du champ shadowLastChange de l'annuaire LDAP
8
# pour contourner le blocage des utilisateurs anciens sur les clients Ubuntu
9
#
10
# Laurent.Brillard@ac-reunion.fr
11
#
12
# Pour executer : python shadowlastchange_profs.py <valeur_shadowlastchange_voulue>
13

    
14
import sys
15

    
16
fichier = open("ModifLDAP.log","a")
17

    
18
from scribe import enseignants
19
from scribe.enseignants import Enseignant
20
slc_voulue = sys.argv[1]
21

    
22
ldapuser = Enseignant()
23
allusers = ldapuser.get_members('professeurs')
24
ldapuser.ldap_admin.connect()
25
for login in allusers:
26
        ldapuser = Enseignant()
27
        ldapuser.ldap_admin.connect()
28
        slc_lue_ldap = ldapuser._get_attr(login, 'shadowLastChange')
29
        slc_lue = slc_lue_ldap[0]
30
        if int(slc_lue) < int(slc_voulue):
31
                ldapuser._set_attr(login, 'shadowLastChange', slc_voulue)
32
                ldapuser._touch(login)
33
                log = login + " shadowlastchange change de " + slc_lue + " a " + slc_voulue
34
                print log
35
                log = "\n" + log
36
                fichier.write(log)
37
        else:
38
                log = login + " shadowlastchange reste a " + slc_lue
39
                print log
40
                log = "\n" + log
41
                fichier.write(log)
42
# ldapuser._set_attr(login, 'shadowMax', '9999')
43
ldapuser.ldap_admin.close()
44