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