Mail, sophomorixCustom1 --> Custom-eMail-Felder (HowTo)

Ok, hier kommt das Script … es ist letztlich tatsächlich ein Zweizeiler:

#!/bin/bash

######################################################################################################################
# Scriptname :    custom_Mail_Adresse.sh
# Author     :    Michael Hagedorn
# Date       :    2021-11-02
# Category   :    geeignet für linuxmuster 7.x
#Version     :
VER='1.0'

# Dieses Script ermittelt alle Useraccounts eines linuxmuster-v7-Servers, für welche das Attribut
# 'sophomorixCustom1' noch NICHT gesetzt wurde. Das ist immer dann der Fall, wenn man sich z.B. noch nicht an der
# Landingpage angemeldet und dort seine eMail-Adresse eingetragen hat. Daher wird für diese Accounts
# der Eintrag, der unter 'mail' gefunden wird, AUCH unter 'sophomorixCustom1' eingetragen! Der Vorteil
# ist, dass man dann sowohl unter moodle als auch unter Nextcloud auf das Feld 'sophomorixCustom1' zurückgreifen kann,
# denn die selbst eingetragene Änderung der eMail-Adresse bleibt auch dann bestehen, wenn man 'sophomorix-update'
# laufen lässt!
# Das Script sucht nach Lehrer- UND Schüler-Accounts. Das kann mit dem ldapsearch-Filter schnell angepasst werden!
######################################################################################################################

# Diese Variablen an die eigene Installation anpassen:

base="ou=default-school,ou=SCHOOLS,dc=linuxmuster,dc=lan"
server="ldaps://server.linuxmuster.lan:636"
binduser="global-binduser@linuxmuster.lan"
bindpw=$(cat /etc/linuxmuster/.secret/global-binduser)

######################################################################################################################


while IFS="," read login email;
 do
  echo "sophomorix-user -u $login --set-single-value-attribute sophomorixCustom1 --entry $email"
 done < <(ldapsearch  -b $base -H $server -x -D $binduser -w $bindpw '(&(!(sophomorixCustom1=*))(|(sophomorixRole=teacher)(sophomorixRole=student)))' |grep  -e mail -e sAMAccountName | awk '{ ORS=/sAMAccountName:/ ?"":"\n"} {print $2","}')

Viele Grüße,
Michael

P.S.: Nach dem Durchlauf des Scriptes liefert ein erneuter Aufruf erwartungsgemäß keine Treffer mehr … es funktioniert also :slight_smile:

1 „Gefällt mir“

Hallo Michael,

schön das du das hin bekommen hast und anderen zur Verfügung stellst. Danke!

Beste Grüße

Thorsten