Unterschiede zwischen den Revisionen 11 und 13 (über 2 Versionen hinweg)
Revision 11 vom 2014-08-19 12:17:36
Größe: 1229
Kommentar:
Revision 13 vom 2014-08-19 12:20:00
Größe: 1247
Kommentar:
Gelöschter Text ist auf diese Art markiert. Hinzugefügter Text ist auf diese Art markiert.
Zeile 3: Zeile 3:
{{{#!/bin/bash {{{#!highlight bash
#!/bin/bash

Benutzer-Import in GOsa²

   1 #!/bin/bash
   2 
   3 ZWISCHENERGEBNIS=`tempfile`
   4 
   5 cat students.csv | while read line; do
   6 
   7         ALREADY_EXISTS="START"
   8 
   9         NACHNAME=$(echo $line | cut -d";" -f1 | cut -d " " -f1 | cut -d "-" -f1);
  10         VORNAME=$(echo $line| cut -d";" -f2 | cut -d " " -f1 | cut -d "-" -f1);
  11 
  12         i=3;
  13         while [ ! -z "$ALREADY_EXISTS" ]; do
  14                 NACHNAME_KURZ=${NACHNAME:0:3}
  15                 VORNAME_KURZ=${VORNAME:0:$i}
  16 
  17                 LOGIN=$(echo ${NACHNAME_KURZ}${VORNAME_KURZ} | iconv -f UTF-8 -t ASCII//TRANSLIT | tr A-Z a-z);
  18 
  19                 ALREADY_EXISTS=$(getent passwd $LOGIN 1>/dev/null && echo "!!! ALREADY_EXISTS !!!");
  20                 i=$(($i+1));
  21         done
  22 
  23         echo "$line;$LOGIN;`pwgen -v 8 1`   $ALREADY_EXISTS";
  24 done | tee $ZWISCHENERGEBNIS
  25 
  26 
  27 DUPLICATES=`cat $ZWISCHENERGEBNIS | while read line; do
  28 
  29         LOGIN=$(echo $line | cut -d";" -f7);
  30         grep -v "$line" $ZWISCHENERGEBNIS | grep "$LOGIN" 1>/dev/null && echo "$LOGIN";
  31 
  32 done | uniq | sort`
  33 
  34 if [ ! -z "$DUPLICATES" ]; then
  35         echo
  36         echo "Doppelte Logins innerhalb dieser Liste:"
  37         echo
  38         echo -e $DUPLICATES | sed 's/ /\n/g'
  39 fi
  40 
  41 rm -f $ZWISCHENERGEBNIS

IT-Zukunft Schule: Technik/Nutzungshinweise/BenutzerImport (zuletzt geändert am 2023-08-29 20:39:10 durch MikeGabriel)