Results 1 to 2 of 2

Thread: Help script import users from AD

  1. #1
    Join Date
    Jan 2013
    Posts
    4
    Rep Power
    2

    Exclamation Help script import users from AD

    i need help for a script import users from AD for use Zimbra as a messagerie server in my environment Microsoft
    - Machine used :
    > Microsoft server 2008 r2 ( AD + DNS (domain name : fsts.ma) )
    > Ubuntu 12.04 LTS ( Zimbra server 8.2 )
    when i execute this script, its show me that i have 2 errors ( ldapserach : command not found; zmacct : command not found )
    So this is the script :


    !/bin/bash
    #Script de SYNC AD --> Zimbra
    #Script sous license GNU/GPL
    #ROSENKRANZ Denis
    #denisrosenkranz.com
    #Script pour créer des adresses emails a partir du nom d'utilisateur de l'Active directory : AD_USERNAME@domain.lan
    #SCRIPT A LANCER EN TANT QU' UTILISATEUR "zimbra"

    #Déclaration des variables:

    #Nom de domaine Active Directory (ex= domain.lan)
    domain="fsts.ma"

    #Fichiers temporaires ou seront stockés les données de comptes
    Names=tmpNames.txt
    Firstnames=tmpFirstNames.txt
    Nicknames=tmpNicks.txt
    ADAccounts=tmpAccounts.txt
    ZAccounts=tmpZmbusers.txt
    Mails=tmpMails.txt
    Firstlastname=tmpFirstlastname.txt
    AdDB=AdDB.txt

    #Paramêtres sur serveur AD
    #IP Du serveur Active Directory
    ip="//10.10.10.1/"
    #FQDN d'de l'OU d'ou vous voulez extraire les comptes (ex: OU=ZimbraUsers,DC=domain,DC=lan)
    ou="OU=Users,DC=fsts,DC=ma"
    #FQDN d'un utilisateur (ex: CN=Administrator,CN=Users,DC=domain,DC=lan)
    user="CN=Administrateur,OU=Users,DC=fsts,DC=ma"
    #Mot de passe de cet utilisateur
    pass="123.pol"

    #COS dans lequel on veut mettre ces nouveuas utlisateurs (default si COs par default)
    COS="default"

    #On récupère les informations des comptes sur l'active directory

    #Récupérations des utilisateurs de l'Active Directory
    ldapsearch -x -H ldap://$ip -b "$ou" -D "$user" -w $pass "(&(sAMAccountName=*)(objectClass=user))" > $AdDB

    #On récupère les noms
    cat $AdDB | grep sn | awk '{print $2}' > $Names

    #On récupère les prénoms
    cat $AdDB | grep givenName | awk '{print $2}' > $Firstnames

    #On récupère les noms d'utilisateurs
    cat $AdDB | grep sAMAccountName | awk '{print $2}' > $Nicknames

    #Transformation des noms d'utilisateurs en adresses Emails
    sed 's/.*/&'@$domain'/' $Nicknames > $Mails

    #Suppresion du filtre
    sed /filter/d $Mails > tmpMails2.txt
    mv tmpMails2.txt $Mails

    #On fusionne toutes ces données dans un seul fichier
    paste -d ':' $Names $Firstnames $Mails > $ADAccounts

    #On récupère les comptes existants dans Zimbra
    zmaccts | grep "@$domain" | awk '{print $1}' > $ZAccounts

    #On formatte correctement les fichiers Mails.txt et zmbuser.txt

    sort $Mails > tmpMails2.txt
    mv tmpMails2.txt $Mails

    sort $ZAccounts > tmpzmbusers2.txt
    mv tmpzmbusers2.txt $ZAccounts

    #On compare les comptes existants et les comptes sur l'Active Directory
    LISTDIFF=$(diff -u -i -B $ZAccounts $Mails | grep $domain | grep "+" | sed s/^+//g)

    #Si il existe une nouvelle adresse on la crée dans Zimbra
    for i in $LISTDIFF; do
    EMAIL=$(echo $i | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz')
    FIRSTNAME=$(cat $ADAccounts | grep $i | cut -d ':' -f2 )
    LASTNAME=$(cat $ADAccounts | grep $i | cut -d ':' -f1 )
    echo 'Rajout du compte mail: ' $FIRSTNAME $LASTNAME $EMAIL

    #Création des comptes dans Zimbra
    #FDD00123456789 est le mot de passe par défaut des comptes, si l'authentification des utilisateurs se fait par l'AD ce mot de passe ne sera pas utilisé
    zmprov ca $EMAIL FDD00123456789 displayName ''$FIRSTNAME' '$LASTNAME'' givenName $FIRSTNAME sn $LASTNAME

    #On place l'utilisateur dans le COS mis en variable
    zmprov sac $EMAIL $COS

    #On rajoute l'adresse dans l'AD
    #adtool attributeadd ''$FIRSTNAME' '$LASTNAME'' mail $EMAIL
    done
    #On supprime tout les fichiers temporaires
    rm -f tmp*
    exit 0

  2. #2
    phoenix is offline Zimbra Consultant & Moderator
    Join Date
    Sep 2005
    Location
    Vannes, France
    Posts
    23,587
    Rep Power
    58

    Default

    Quote Originally Posted by mehdioua View Post
    i need help for a script import users from AD for use Zimbra as a messagerie server in my environment Microsoft
    Why do you not use the inbuilt feature in ZCS 8 that will provision users from AD as I've already suggested? Read the product documentation.
    Regards


    Bill


    Acompli: A new adventure for Co-Founder KevinH.

Similar Threads

  1. Active Directory Script to import users to Zimbra
    By egrueda in forum Administrators
    Replies: 35
    Last Post: 08-29-2012, 10:54 AM
  2. Sharing my Bulk Import script...
    By cyber7 in forum Administrators
    Replies: 0
    Last Post: 11-08-2010, 04:00 AM
  3. Active Directory Script to import users to Zimbra
    By egrueda in forum Installation
    Replies: 7
    Last Post: 07-07-2009, 01:02 PM
  4. Creating users script
    By Manu Chesney in forum Administrators
    Replies: 2
    Last Post: 02-24-2009, 11:03 AM
  5. import /etc/passwd script for zmprov
    By lkirkpatrick in forum Administrators
    Replies: 4
    Last Post: 03-29-2006, 08:41 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •