Benutzerdaten für Moodle mit einer Tabellenkalkulation erzeugen
Moodle bietet die Möglichkeit des CSV-Uploads, um Datenbestände zu pflegen. Wenn man in der – nach meiner Ansicht – bedauernswerten Lage ist, keine schon vorhandene externe Authentifizierungsmöglichkeit nutzen zu können, kann das ein einigermaßen komfortabler Weg sein, um Userdaten zu verwalten. Moodle bietet einige nützliche Funktionen, um Nutzernamen aus Tabellendaten zu erzeugen – vielseitiger ist aber der Weg über die Tabellenkalkulation.
Jede Tabellenkalkulation besitzt Formeln für Text – wenn man sich nur diese anzeigen lässt, wird man sehr schnell fündig.
- KLEIN() wandelt einen Text in Kleinbuchstaben um
- LINKS() liefert den linken Teil einer Zeichenkette zurück, durch zusätzliches Argument kann ich sagen, wie lang der Teil sein soll, standardmäßig gilt die Länge 1.
- VERKETTEN() verknüpft zwei Zeichenketten
A | B | C | |
1 | Riecken | Maik |
Um den Benutzernamen „mriecken“ zu generieren, gebe ich in der Zelle A1 folgende Formel ein:
=KLEIN(VERKETTEN(LINKS(C1);B1))
Gehen wir das mal von innen nach außen durch:
=LINKS(C1) gibt den Buchstaben „M“ zurück
=VERKETTEN((LINKS(C1);B1) gibt die Zeichenkette „MRiecken“ zurück
=KLEIN(VERKETTEN(LINKS(C1);B1)) macht diese Zeichenkette klein
Noch ein Beispiel:
=KLEIN(VERKETTEN(LINKS(C1;2);B1)) gibt dann z.B. „mariecken“ zurück
Es gibt auch die Funktionen
=RECHTS() – gleich wie LINKS() nur schnippelt die eben rechts
=TEIL() – schneidet in der Mitte aus
=GROSS() gibt es auch…
Das geht auch für Passwörter, die man dann gleich per Serienbrief mitteilen kann. Gefunden/geklaut/neu zusammengefasst habe ich das (von) hier. Dafür nimmt man ein eigenes Tabellenblatt und erstellt folgenden Inhalt:
- Zelle A1 bis A9: Zahlen 1 bis 9
- Zelle A10 bis A35: Kleinbuchstabden a bis z
- Zelle A36 bis A61: Großbuchstaben A bis Z
Dann in eine leere Zelle folgende Formel:
=INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))&INDIREKT(„A“&ZUFALLSBEREICH(1;61))
für sechsstellige Passwörter. Für mehr Stellen, muss man einfach noch zusätzliche „&INDIREKT(„A“&ZUFALLSBEREICH(1;61)“ am Ende einfügen. Diese Formel kopiert man im separaten Tabellenblatt einfach herunter und fügt dann über „Inhalte einfügen“ die erstellten Passworte in die Tabelle im Passwortfeld ein, die die Nutzerdaten enthält. Man kann das nicht direkt im gleichen Tabellenblatt machen, da die Formel spätestens bei einem neuen Aufruf der Datei neue Passwörter erzeugt…
Für die ganz Bequemen gibt es hier zwei Downloads für ein Mustertabellenblatt zur Generierung von Passworten. Dabei habe ich bereits Zeichen eliminiert, die der Nutzer gerne verwechselt, etwa den Buchstaben „O“ und die Null oder den Buchstaben „l“ (gerne mit der Eins verwechselt). Die Tabelle bietet in der ersten Spalte den Pool an Zufallzeichen, in der zweiten ein sechsstelliges und in der dritten ein achtstelliges Zufallspasswort an. Sie lässt sich leicht an die eigenen Bedürfnisse anpassen.
- Datei im OpenOffice-Format: zufallspassworte_openoffice
- Datei im Excel-Format: zufallspassworte_excel
Zusammen mit den anderen Möglichkeiten, die durch den CSV-Import in Moodle gegeben sind, lassen sich damit spannende Dinge anstellen.
Super. Ich bin nämlich (noch) in selbiger „bedauernswerten“ Lage. Für dieses Schuljahr ist der Kram erledigt – aber Deine Anleitung hilft für die Zukunft sicher weiter.
Vielen Dank.
Lieber Maik,
ich bin mehr als beeindruckt. So eine präzise und weitsichtige Zusammenstellung zum Erzeugen von Zugangsdaten für geschlossene Moodle-Systeme habe ich nirgends bisher entdecken können.
Klasse, großen lieben Dank dafür.
Und die Hilfe des Tabellenkalkulationsprogramm wird auch aufgerufen — versprochen!
Gruß
hartmut
Dank den Lobenden. Ich habe den Artikel an einer Stelle korrigiert und um zwei Downloads für Mustertabellen zur Passwortgenerierung ergänzt. Das ist ja nicht nur für Moodle interessant.
Gruß,
Maik
dieser ausführliche Artikel hilft mir sehr weiter, da ich selbst einen „Passwortgenerator“ in OpenOffice erstellen wollte.
Außerdem brachte mir der Beitrag verschiedene für mich neue nützliche Befehle näher.
Ich hätte nur eine kleine Ergänzung: Mit dem Befehl VERKETTEN lassen sich mehr als zwei Werte miteinander verbinden. Man könnte z.B. auch einen Text schreiben:
=VERKETTEN(C1;“ „;B1;“ hat den Benutzernamen“;KLEIN(VERKETTEN(LINKS(C1);B1)))
Dies lässt beliebig erweitern.
Ja – und es geht noch kürzer! Mir war wichtig, auch das Prinzip der verschachtelten Funktionen zumindest anzudeuten. Die Funktion „VERKETTEN()“ braucht es gar nicht, da die normale Tabellenkalkulation den Operator „&“ kennt.
Beispiel:
=C1&“ „&B1&“ hat den Benutzernamen „&KLEIN(LINKS(C1)&B1)
Dazu ist noch kürzer als deine Variante, aber syntaktisch-didaktisch nicht so hübsch…