• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

80 User auf OpenExchange 4.1 per Script anlegen

A

Anonymous

Gast
Hallo Leute,
ich bin komme aus der Windwows-Welt und muß jetzt
auf dem Suse OpenExchange-Server in der Version 4.1
über 80 User anlegen (Chef läßt grüssen).

Ein Kollege hat mir jetzt gezeigt, wie man User über die
SUSE-Oberfläche anlegen kann und meinte dass dieser Vorgang
nicht anders zu erledigen wäre. Der Kollege ist ebenfalls neu
in der Linux-Welt. Ich bin aber der Meinung
dass man den Vorgang "User-anlegen" per Script erledigen kann.
Ansonsten würde ich an meinem Weltbild über Linux zweifeln.
Für 80 User, immer das Gleiche anklicken, das kann nicht sein.

Die Frage ist:
Gibt es ein Dokument bzw Link. in dem dieser Vorgang beschrieben ist?

Eventuell so dass das ein (versierter) Windows-Admin auch verstehen kann.

Ich weiß dass man normalerweise nicht auf diese Art und Weise Erst-Kontakt
mit Linux haben sollte, aber das ist eben die Praxis bei uns in der Firma.

Gut gemeinte Ratschläge (Wechsel doch einfach die Firma), bringen mich nicht
wirklich weiter.

Es ist wahrscheinlich eine banale Frage, aber ich kenne Linux eben (noch) nicht.


Gruß,
Tom
 
OP
A

Anonymous

Gast
Hi,

sieh dir mal das an:

http://portal.suse.com/sdb/de/2002/11/rsimai_slox_bulkadd.html

Viel Spaß!
Martin
 
OP
A

Anonymous

Gast
Hallo Leute,
mit Hilfe der URL (http://portal.suse.com/sdb/de/2002/11/rsimai_slox_bulkadd.html )
aus dem vorherigen Posting und viel probieren *knurr*,
habe mir jetzt ein Script "gestrickt" was für meine Zwecke geeignet
ist. Vielleicht hilft's dem Nächsten (verzweifelten) Win-Admin bei
der ersten Kontakaufnahme mit OpenExchange.

Gruß,
Tom

#****************************************************************************
#
# Autor: Tom Tom
# Datum: 2004-05-06
# Kommentar:
# - Das Script legt auf dem OpenExchange-Server Benutzer an.
# - Die Benuter-Daten werden aus einer CSV-Datei ausgelesen
# Aufbau der CSV-Datei (Semikolon als Trennzeichen):
# <postfachname>;<vorname>;<nachname>;<kontoname>;<persnummer>
# Beispiel-Datensatz:
# andy.abel;andy;abel;andy.abel@test.com;0001
# Eventuell Änderungen am Aufbau der Datei müssen in diesem
# Script nachgezogen werden (s.a. Befehl 'split')!
#****************************************************************************
#****************************************************************************


#********************************************************
# Deklaration der verwendeten Variablen
#********************************************************
<;&nbsp> my $cyruspassword;
my $postfachname;
my $vorname;
my $nachname;
my $kontoname;
my $persnummer;
my $loginname;
my $userpwd;
my $emailalias;

#********************************************************
# Die CSV-Datei mit den Benutzer-Daten öffen,
# bei Fehler wird Script beendet
#********************************************************
open(IN,"Test_User.csv") || die "Datei nicht gefunden";


#********************************************************
# Das Cyrus-Password einlesen
#********************************************************
print "Bitte geben Sie das Cyrus-Password ein : ";
chomp($cyruspassword = <STDIN>);

print "Start create user \n";

#******************************************************************
# Alle Datensätze aus der Datei mit den Benutzer-Daten durchlaufen
#******************************************************************
while(<IN>)
{

#*****************************************************************
# Einen Datensatz einlesen und in einzelne Datenfelder aufsplitten
#*****************************************************************
chomp;
($postfachname,$vorname,$nachname,$kontoname,$persnummer) = split /;/;

#*****************************************************************
# $loginname,$userpwd und $emailalias mit Werten füllen
# MERKE:
# Der loginname darf KEINE Groß-Buchstaben enthalten!
# Ansonsten erhält man konfuse Fehlermeldung die sich nicht zuordnen läßt!
#*****************************************************************
if (length($vorname)<1)
{
$loginname = lc($nachname);
$emailalias = lc($nachname);
$userpwd = substr($nachname,0,1) . $persnummer;

}
else
{

$loginname = lc(substr($vorname,0,1)) . lc($nachname);
$emailalias = lc($vorname) . "." . lc($nachname);
$userpwd = substr($vorname,0,1) . substr($nachname,0,1) . $persnummer;
}

#print("| $postfachname | $vorname | $nachname | $kontoname | $persnummer \n ");

print(" :$loginname:$emailalias:$userpwd \n");

#*****************************************************************
# Benutzer in Cyrus anlegen
#*****************************************************************
system("add_user_cyrus -al cyrus -ap $cyruspassword -uid $loginname -qv 10000");


#*****************************************************************
# Benutzer in LDAP anlegen
#*****************************************************************
system("add_user_ldap -bDN dc=pctech,dc=de -al cyrus -ap $cyruspassword -uid $loginname \\
-sn $nachname -up $userpwd -alias $emailalias -mail $kontoname -givenname $vorname -o \"Test Gmbh\" -c DE ");

}

#*****************************************************************
# Datei mit Benutzerdaten schliessen
#*****************************************************************
close(IN) ;

print "Ende create user\n";
 
Oben