Es por casualidad este el script Pablo? Lo saqué de este enlace: http://www.edugeek.net/wiki/index.php?title=Zimbra_autocreate_accounts_with_Active_Directory_or_LDAP

Solo necesitaría un retoque.
Yo quería usar de direccion de correo lo que tenía en el campo mail del LDAP porque tengo algunos usuarios cuyo user del dominio no coincide con la direcc de correo, pero probablemente cambie los nombres de usuario y los cree de ahí para no enredarme.
Gracias a Arián también  por responderme.

De todas maneras me preocupa más el error en las logs...

INFO [Thread-12] [] autoprov - shutdown() called, but auto provision thread is not running.

 y + adelante
INFO [Thread-12] [] extensions - Destroyed extension com_zimbra_bulkprovision: com.zimbra.bp.zimbrabulkprovision...@com.zimbra.cs.extension.ZimbraExtensionClassLoader@344561e0

#!/usr/bin/python
#--------------------------------------------------------------------------------------------------
# Notes:
# This script automatically creates zimbra accounts from active directory, the  
actrive directory account must have
# the employeeType=STUDENT attributed set. If accounts are in the 'banned' 
active directory group then the
# account will automatically be locked when the script is run, and unlocked if 
they are no longer in the AD
# banned group
#--------------------------------------------------------------------------------------------------
# Variables can be changed here:
banned =  'CN=Banned,CN=yourschool,DC=sch,DC=uk'
# an OU for banned users
scope   = 'ou=users,dc=yourschool,dc=sch,dc=uk'
#the search scope
domain = "yourschool.sch.uk" # "example.com"
ldapserver="server1"
#ldap server
port="389"
#ldap port (389 default)
emaildomain="yourschool.sch.uk"
#the email domain
ldapbinddomain="student-domain"
#the domain of the ldap bind account
ldapbind="ldap"
#the account name of the account to bind to ldap
ldappassword="password"
#the ldap password
pathtozmprov="/opt/zimbra/bin/zmprov"
#--------------------------------------------------------------------------------------------------
import ldap, string, os, time, sys
#output the list of all accounts from zmprov gaa (get all accounts)
f = os.popen(pathtozmprov +' gaa')
zmprovgaa= []
zmprovgaa = f.readlines()
l=ldap.initialize("ldap://"+ldapserver+"."+domain+":"+port)
l.simple_bind_s(ldapbinddomain+"\\"+ldapbind,ldappassword) #bind to the ldap  
server using name/password
try:
    res = l.search_s(scope,
    ldap.SCOPE_SUBTREE, "(&(ObjectCategory=user)  
(userAccountControl=512)(employeeType=STUDENT))",  
['sAMAccountName','givenName','sn','memberOf'])
#userAccountControl  512 = normal , 514 = disabled account
    for (dn, vals) in res:
      accountname = vals['sAMAccountName'][0].lower()
      try:
        sirname = vals['sn'][0].lower()
      except:
        sirname = vals['sAMAccountName'][0].lower()
      try:
        givenname = vals['givenName'][0]
      except:
        givenname = vals['sAMAccountName'][0].lower()
      try:
        groups = vals['memberOf']
      except:
        groups = 'none'
      initial = givenname[:1].upper()
      sirname = sirname.replace(' ',/)/
      sirname = sirname.replace('\/, /)
      sirname = sirname.replace('-',/)/
      sirname = sirname.capitalize()
      name = initial + "." + sirname
      accountname = accountname + "@" + emaildomain
      password = "  \'\' "
      sys.stdout.flush()
      # if the account doesn't exist in the output of zmprov gaa create the  
account
      if accountname +"\n" not in zmprovgaa:
        print  accountname," exists in active directory but not in zimbra, the   
account is being created\n"
        time.sleep(1)
        os.system(pathtozmprov +' ca %s %s displayName %s' %  
(accountname,password,name))
     # if the account is in the group 'banned' check to see if account already  
locked
      if banned in groups:
        zmprovga = os.popen(pathtozmprov + ' ga %s' % (accountname))
        ga= []
        ga = zmprovga.readlines()
        locked = "zimbraAccountStatus: locked\n"
        if locked not in ga: #if account not locked then lock it
          print accountname, " has been BANNED from the internet. The email  account 
has been locked "
          os.system(pathtozmprov + ' ma %s zimbraAccountStatus locked' % 
(accountname))
          time.sleep(1)
        else:
          print accountname, " has a locked email account because they are in  the 
'banned' group"
       #set any accounts to 'active' if they are not in the banned group and 
the account is currently locked
      else:
        zmprovga = os.popen(pathtozmprov + ' ga %s' % (accountname))
        ga= []
        ga = zmprovga.readlines()
        locked = "zimbraAccountStatus: locked\n"
        if locked in ga:
          os.system(pathtozmprov + ' ma %s zimbraAccountStatus active' %  
(accountname))
          time.sleep(1)
          print accountname, " is no longer in the 'banned' group, therefore  the 
account has been activated"
except ldap.LDAPError, error_message:
  print error_message
l.unbind_s()




El 06/04/2017 a las 09:34 p. m., Pablo M. Drake escribió:
El 06/04/17 16:37, Yusbel Muñíz Plasencia escribió:
Hola Lista, les escribo pk he estado fajao con el autoprovisioning del zimbra y no he dado pie con bola. En mi caso pretendo halar del LDAP de un AD los datos de los usuarios de un cierto grupo. A la hora de hacer las cuentas en el zimbra quiero remapear el atributo mail del objeto user en el LDAP del AD a la cuenta del usuario zimbra.
O sea que no coincide con el samaccountname.

su zimbra
zmprov md sc.tsp.gob.cu zimbraAutoProvMode "EAGER"
zmprov md sc.tsp.gob.cu zimbraAutoProvBatchSize 20
zmprov md sc.tsp.gob.cu zimbraAutoProvLdapURL "ldap://192.168.208.20:389";
zmprov md sc.tsp.gob.cu zimbraAutoProvLdapAdminBindPassword "pass"
zmprov md sc.tsp.gob.cu zimbraAutoProvLdapAdminBindDn "CN=ZIMBRA_Admin,CN=Users,DC=tppscu,DC=cu" zmprov md sc.tsp.gob.cu zimbraAutoProvLdapSearchBase "CN=Users,DC=tppscu,DC=cu" zmprov md sc.tsp.gob.cu zimbraAutoProvLdapSearchFilter "(&(objectCategory=user)(memberof=CN=UsuariosConCorreo,CN=Users,DC=tppscu,DC=cu))"
zmprov md sc.tsp.gob.cu zimbraAutoProvLdapBindDn "%u@%d"
zmprov md sc.tsp.gob.cu zimbraAutoProvAccountNameMap mail
zmprov md sc.tsp.gob.cu zimbraAutoProvAttrMap "sn=sn"
zmprov md sc.tsp.gob.cu zimbraAutoProvAttrMap "mail=description"
zmprov md sc.tsp.gob.cu zimbraAutoProvAttrMap "cn=displayName"
zmprov md sc.tsp.gob.cu zimbraAutoProvAttrMap "givenName=givenName"
zmprov md sc.tsp.gob.cu zimbraAutoProvNotificationFromAddress ad...@sc.tsp.gob.cu zmprov md sc.tsp.gob.cu zimbraAutoProvNotificationSubject "Nueva Cuenta de Correo Aprovisionada" zmprov md sc.tsp.gob.cu zimbraAutoProvNotificationBody "Su cuenta de correo ha sido creada. El e-mail es: ${ACCOUNT_ADDRESS}."

Todo esto corre bien sin probs

por supuesto despues un zmcontrol restart

Me sale esto en las logs /opt/zimbra/log/mailbox.log
INFO [Thread-12] [] autoprov - shutdown() called, but auto provision thread is not running.

 y + adelante
INFO [Thread-12] [] extensions - Destroyed extension com_zimbra_bulkprovision: com.zimbra.bp.zimbrabulkprovision...@com.zimbra.cs.extension.ZimbraExtensionClassLoader@344561e0

que puedo hacer?

Saludos y gracias de antemano


______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Yo estoy usando un script python que me funciona a las mil maravillas...
Lo tengo corriendo en el Zimbra de la universidad. Ahora mismo no estoy en la oficina pero en cuanto pueda te lo hago llegar y de paso lo subo a la Wiki o al portal de GUTL


Saludos



______________________________________________________________________
Lista de correos del Grupo de Usuarios de Tecnologías Libres de Cuba.
Gutl-l@jovenclub.cu
https://listas.jovenclub.cu/cgi-bin/mailman/listinfo/gutl-l

Responder a