ajout de la commande add-psl-person pour mettre à jour les OCs des utilisateurs (#22918)

This commit is contained in:
Benjamin Dauvergne 2018-04-27 14:31:36 +02:00
parent 87798ad20a
commit b7fb793fb0
2 changed files with 31 additions and 0 deletions

30
lib/add-psl-person Executable file
View File

@ -0,0 +1,30 @@
#!/usr/bin/env python
import os
import hashlib
import argparse
import ldif
import sys
import ldap
import ldap.sasl
import ldap.dn
import ldap.modlist
import base64
conn = ldap.initialize('ldapi://')
conn.sasl_interactive_bind_s("", ldap.sasl.external())
parser = argparse.ArgumentParser(description='add pslPerson to all supannPerson.')
parser.add_argument('suffix', metavar='suffix', help='suffix of tree to add pslPerson')
args = parser.parse_args()
suffix = args.suffix
print 'Adding pslPerson objectClass to all suppanPerson in', suffix, 'missing it.'
result = conn.search_s(suffix, ldap.SCOPE_SUBTREE, '(&(objectClass=supannPerson)(!(objectClass=pslPerson)))')
for dn, record in result:
modlist = []
modlist.append((ldap.MOD_ADD, 'objectClass', 'pslPerson'))
conn.modify_s(dn, modlist)
print '- added pslPerson to', dn
print 'Finished.'

1
lib/add-psl-person.help Normal file
View File

@ -0,0 +1 @@
Ajouter la classe pslPerson