BIMPORT
eDirectory-Benutzer-Import
(C) 2000-2014, OSSOS-Software, Labs
www.ossos.de
==============================================================================

History von BIMPORT:
-------------------

Version 3.14e  01.12.2014
------------------------------------------------
- Beim Löschen von Homeverzeichnissen wurden unter Windows-7 diese nur geleert, aber
  nicht vollständig gelöscht. Dieser Fehler ist jetzt beseitigt.
- Erkennung der paedMLNovell-4

Version 3.14d  04.01.2014
------------------------------------------------
- Werden bei den Benutzer(z.B. Schüler)-Containern verschachtelte Container-Strukturen
  verwendet (um z.B. Fachbereiche darzustellen) und werden dort verschiedenen Templates
  eingesetzt, so konnte es zu Fehlern beim Erzeugen der zugehörigen (verschachtelten)
  Homeverzeichnissen und deren Oberverzeichnissen kommen. Dieser Fehler ist nun beseitigt.

  Ggf. müssen Sie aber die Einträge für das Basisverzeichnis im jeweiligen Template korrigieren.
  Dies gilt nicht für das Standard-Template, sondern nur für die Templates in Untercontainern.
  Z.B. für Template_Mathe.Mathe.Schueler.Benutzer.<Schule>.ml3, falls es ein solches im Container 
  Mathe.Schueler.Benutzer.<Schule>.ml3 gibt. Im Feld Basisverzeichnis/Pfad müsste dann stehen:
  <SCHULE>\home\schueler\Mathe. (Natürlich mit Ihrem Schulkürzel.)
  Falls es in den Klassen-Containern ein User_Template gibt, muss dort in diesem Feld der
  komplette Pfad incl. Klasse stehen, also z.B. <SCHULE>\home\schueler\Mathe\Klasse5.
  (So, wie hier beschrieben, legt die Schulkonsole die Templates an.)
  Falls Sie Templates von Hand angelegt haben, prüfen Sie bitte diese Einstellung! 

Version 3.14c  07.09.2013
------------------------------------------------
- Beim Import wurden in der Version 3.14b während des Imports die Umlaut-Bedingungen
  ausgeschaltet.
  Dieser Fehler ist jetzt beseitigt.

Version 3.14b  28.11.2012
------------------------------------------------
- Für die Umlautumwandlung auch für Given Name und Full Name (siehe Version 3.14 vom 27.4.2011)
  ist es jetzt nicht mehr nötig den Schalter changeUmlautPlus in der bimport.ini von Hand
  zu setzen.
  Die zur Umlautumwandlung vorgesehenen Checkboxen auf verschiedenen Fenstern haben jetzt
  3 Zustände:
     kein Häkchen  : keine Umlautumwandlung
     graues Häkchen: Umlautumwandlung (ohne Given Name und Full Name), sonst wie bisher
     Häkchen       : Umlautumwandlung (mit Given Name und Full Name)

Version 3.14a  22.5.2012
------------------------------------------------
- In einigen Fällen kann beim Anlegen von Benutzern der Fehler 
  -1073741819  Adduser/NWDSGenerateObjectKeyPair
  auftreten. Dies hängt mit einem Bug in
  NW 4.91 SP5 client und Novell Client 2 SP1 for W2008/W7/Vista
  zusammen. Trotzdem werden User korrekt angelegt.
  Diese Fehlermeldung wird nun unterdrückt.

- Falls BImport von anderen Programmen gestartet wird, kann u.U.
  das Environtment nicht übertragen werden. Dann Fehlen dort ggf. die 
  Eintragungen für SCHULE, SCHULSERVER, usw...
  In diesem Fall werden diese Daten aus der Registry gelesen.


Version 3.14  27.4.2011
------------------------------------------------
- Umlautumwandlung auch für Given Name und Full Name
  Zum Abschalten dieser neuen Eigenschaft, kann in der (jeweiligen)
  bimport.ini im Abschnitt [SCHALTER] der Eintrag
    changeUmlautPlus=0
  gesetzt werden.

Version 3.13.1/2 (nicht veröffentlicht) 16.11.2010/17.1.2011
------------------------------------------------
- Weitere Server im Baum ermöglicht. Damit können User-Homeverzeichnisse auch
  auf anderen Servern liegen.

- Verschachtelte Template-Struktur auch für Import und Versetzung

- Schalter Standard-Template

- Beim Versetzen, Verschieben, Abgleich versucht BImport die eventuell zunächst
  scheinbar nicht korrekt gesetzten Trustee-Eintragungen auf die Homeverzeichnisse zu korrigieren.
  Bemerkung:
  Vor allem beim Verschieben zwischen Servern/Volumes kann es passieren, dass das verschobene
  HomeDir neben den korrekten Trustee-Einträgen auch leere Trustee-Eintraege enthält.
  Die werden aber nach einiger Zeit, spätestens nach einem Server-Neustart, vom System selbst
  korrigiert.

- Im Fenster "Datei/Novell-Info" wird jetzt die übliche Versionsbezeichnung
  des eDirectorys angegeben. 

Version 3.13  13.11.2009/ 10.01.2010 / 9.4.2010
-----------------------------------------------
- Beim Ändern von Benutzernamen (Menü Bearbeiten/Benutzername ändern) kümmert sich
  BImport jetzt selbst um das Löschen von Trustee-Rechten beim Ändern des Home-
  Verzeichnisses. Dies verhindert das Vorhandensein von ungültigen Trustees.

- Unter Einstellungen wird jetzt das "Bindestrich-zulassen"-Häkchen korrekt angezeigt.

- Export von BImport-Datendateien (Textdateien im BImport-Format) aus dem eDirectory.
  Export von CSV-Dateien für den GroupWise-Import mit GWIU.exe

- Die Eigenschaften von 3.12.1 - 3.12.3 sind hier natürlich integriert.

Version 3.12.3 (nicht veröffentlicht) 26/27.9.2009
------------------------
 - Fehler im von Hand aufgerufenen Test für Abgleich beseitigt.
 - Vor Operationen auf dem Homeverzeichnis (z.B. Setzen von Attributen) wird
   jetzt vorsorglich ein eventuell vorhandenes ReadOnly-Attribute gelöscht.
   (Dies könnte in gewissen Situationen einem möglichen fehlerhaften Verhalten
    der Novell-API Abhilfe verschaffen).
   (Z.Z. wird diese Version an ausgewählten Schule getestet):
 - Der Vorgaben-Test prüft jetzt verschiedene Rechte des eingeloggten Benutzers
   und zeigt sie im Test-Log an,
   und zwar:
    - die Rechte auf den BasisContainer; sowohl die [All Attributes Rights] als
      auch die [Entry Rights]
    - die Rechte auf das Volume (als Ganzes)
    - die Rechte auf das BasisHomeDir

Version 3.12.2 (nicht veröffentlicht) 12.3.2009
------------------------
Home-Directory-Attribut-Häkchen funktioniert jetzt,
wie zu erwarten.
(Im Update-Modus nach ML-Konventionen)

Version 3.12.1 (nicht veröffentlicht) 30.8.2008
------------------------
Bei der Lizenzeingabe ist jetzt die Reihenfolge der Server egal.

Version 3.12  27.01.2008
------------------------
 - wie Beta

Version 3.12 BETA 13.12.2007
------------------------
 - Änderung von Benutzernamen
 - Getrennte Sätze von TemplateAttribut-Auswahl für Import und Update
 - Kleine interne Verbesserungen

Version 3.11  24.09.2007
------------------------
 - Ohne Datenquelldatei kann man jetzt auch Benutzer Löschen
 - Auswahllisten beim Update oder Löschen (ohne Quelldatei) werden vor der
   Ausführung auf Existenz der darin stehenden Benutzer überprüft und ggf.
   aktualisiert.

Version 3.10  05.08.2007
------------------------
 - Neuentwicklung von BImport
   - Datenabgleich mit dem eDirectory (Musterlösung)
   - Neue Oberfläche mit verschiedenen Designs
   - Sprachen: Deutsch und Englisch
   - Lesen von Environment-Variablen SCHULE, SCHULSERVER, ZENTRALSERVER, die
     in der BImport-INI-Datei durch %-Variablen dargestellt werden. Damit kann
     in Mehrschulumgebungen (ML3) eine INI-Datei flexiblen für verschiedene
     Schulen eingesetzt werden.
   - Verbesserte Fehlererkennung und verbesserte LOG-Dateien.
   - Viele interne Verbesserungen

Version 2.55  04.01.2006
------------------------
 - Commandline-Option /liz
   Wird BImport mit dieser Option gestartet (bimport /liz), so wird sofort die
   Lizenzdateneingabe gestartet, auch wenn das Ablaufdatum schon überschritten ist.
   Nach Abschluss der Lizenzdateneingabe wird BImport beendet und kann danach wieder
   normal benutzt werden.

 - UniqueID
   Unter Optionen/Weitere Einstellungen gibt es eine neue Checkbox dür die UniqueID.
   Die Checkbox kann für den Benutzer-Import/Update drei Zustände einnehmen:
   Häkchen            : UniqueID wird gesetzt
   kein Häkchen       : UniqueID wird gelöscht
   graues Häckchenfeld: bisheriger Wert wird bebehalten
   Die UniqueID wird von BImport genauso wie von ConsoleOne gesetzt, nämlich als
   (nichtqualifizierter) Benutzername, also z.B. SpechtB für SpechtB.Lehrer.Unterricht.
   (Die UniqueID sollte eindeutig sein! Also sollten die Benutzernamen eindeutig gewählt werden.
    Die UniqueID ist wichtig im Zusammenhang mit LDAP-Authentifizierungen, z.B. bei MySQL.)

 - Kleinere kosmetische Dinge.

Version 2.54  11.11.2004
------------------------
unkommentierter Schalter in INI-Datei:
noHomeDir=1                  : dann werden keine Homeverzeichnisse angelegt
noHomeDir=0 oder kein Eintrag: wie bisher
(Achtung: Dieser Schalter kann nur (erstmalig) von Hand in die INI-Datei eingetragen
 werden. Ist er einmal drin, bleibt beim Abspeichern einer INI über das Dateimenü dieser
 Wert erhalten. Er ist nicht innerhalb von BImport editierbar! Soll der Eintrag wieder
 ganz wegfallen, so muss er von Hand aus der INI-Datei gelöscht werden.)
Jetzt ist der Schalter doch kommentiert. ;-)

Version 2.53  16.06.2004
------------------------
 - Fehler bei der Eingabe der Lizenzdaten (nur Musterlösung) beseitigt.

Version 2.52  19.05.2004
------------------------
 - Ablaufdatum in den Lizenzdaten eingefuehrt
 - Wartezeit wird jetzt korrekt aus der INI-Datei zurueckgelesen

Version 2.51  08.04.2004
------------------------
 - Alle, auch Musterloesungsnutzer müssen eine Lizenznummer eingeben.
   (Siehe Nutzungsbestimmungen)
   Ohne Lizenznummer ist das Programm eine Demoversion.
 - Vor dem Speichern der INI-Datei wird geprueft, ob das Verzeichnis
   schreibgeschuetzt ist und ggf. eine Meldung gezeigt.

Version 2.43  17.10.2003 (nicht allgemein veroeffentlicht)
------------------------
 - Unter "Optionen/weitere Einstellungen" kann eine Wartezeit in Millisekunden
   gewaehlt werden, die BImport nach kritischen NDS-Operationen wartet.
   (ZZ: Nach User-Erzeugung, nach User-Verschieben, vor Setzen der
    HomeDir-Rechte.)

 - Unabhängig von dieser Wartezeit (also auch, wenn diese auf 0 steht),
   wird vor dem Setzen der HomeDir-Rechte ggf. maximal 10 mal 100 Millisekunden
   auf das Erzeugen des Homeverzeichnissen gewartet.

 - Die Gross/Kleinschreibung fuer den Homeverzeichnisnamen wird nicht
   mehr veraendert (bislang Umwandlung in Grossbuchstaben), sondern so
   uebernommen, wie der Benutzername in der Datenquelldatei geschrieben ist.

 - Der Name-Space-Typ vom Homeverzeichnis wird jetzt auf 0 (statt frueher 4)
   gesetzt. (Technische Angabe fuer Kenner von NDS-Attributen)

 - Bei der Versetzung werden die Felder "Department"(Abteilung) und
   "Despription"(Beschreibung) auch aktualisiert, falls ueberhaupt benutzt.
   (Achtung: Die Einstellungen "qualifiziert/nicht qualifiziert" sollten vor der
    Versetzung so eingestellt sein, wie es dem aktuellen Zustand entspricht!)

Version 2.42  16.1.2003
------------------------
 - Fuer berechtige Nutzer der baden-wuerttembergischen Novell-Musterloesung
   gibt es kein Ablaufdatum mehr
   

Version 2.41  5.1.2003
------------------------
 - Speicherprobleme unter Windows-XP beseitigt
   (Wer BImport unter WinXP betreibt, muss auf diese Version updaten!)

 - Message-Boxen sind jetzt modal, dh. sie muessen erst geschlossen werden,
   bevor es im Programm weiter geht.

 - Fenstergroesse wird jetzt besser angepasst (auch unter WinXP)

 - Menuepunkt Hilfe/Info verbessert

 - Menuepunkt Hilfe/BImport-Homepage startet den Browser und fuehrt
   auf die BImport-Homepage im Internet


Version 2.4    4.10.2002
------------------------
 - interne Volume-Namens-Bestimmung bei Fileservernamen, die "_" enthalten
   nochmals verbessert (siehe Version 2.1 unten):
     zusaetzlich duerfen jetzt auch die Volumenamen "_" enthalten.

 - bimportstart.ini
   Wenn diese Datei vorhanden ist, bestimmt sie die bimport.ini.
   Dadurch ist es moeglich, BImport.exe und bimportstart.ini in ein
   schreibgeschuetztes Verzeichnis, bimport.ini aber in ein Verzeichnis
   mit Schreibzugriff zu legen.
   Einzelheiten: siehe Kommentar in bimportstart.ini.

   (Nebenbei sei daran erinnert, dass BImport schon immer mit Kommando-Parametern
    gestartet werden kann, die eine alternative bimport.ini ermoeglichen.)

 - In Usernamen und Nachnamen (geliefert von der Datenquelldatei) werden jetzt auch Punkte
   herausgefiltert. (Bisher waren es: Leerzeichen,Bindestriche,Apostrophe).
   Z.B.: OFreiin v. Lundi --> OFreiinvLundi

 - Im Optionen-Menue kann jetzt auch die Datenquelldatei angezeigt (und ggf.
   editiert) werden.

Version 2.3    17.7.2002
------------------------
 - Interne Fehlerbeseitigung.
   Es konnte irrtümlich der Fehler "-659. SetAttributeValue (NGW: Object ID)"
   angezeigt werden. Dies tritt jetzt nicht mehr auf. 

Version 2.2    6.6.2002
------------------------
 - Folgender Fehler ist jetzt beseitigt:
   Wenn eine Volume-Restriction fuer das Volume des Homedirectory im Template
   eingetragen war UND das Serverobjekt in der NDS tiefer als einen Container
   verschachtelt lag, dann versucht BImport die Volume-Restriction aus der
   Datenquelldatei zu nehmen. Wenn jetzt dort eine ungültige Volumebezeichnung
   eingetragen war, konnte BImport natuerlich den User nicht anlegen.

 - Department-Eintrag funktioniert wieder (ging in 2.1 nicht)

Version 2.1    4.5.2002
------------------------
 - interne Volume-Namens-Bestimmung bei Fileservernamen, die "_" enthalten korrigiert.
   (z.B.: qualifizierter Volumename: .FILESERVER_ZWEI_DOCS.DIENSTE ergibt jetzt wirklich
                  Kurzer Volumename: DOCS
          und nicht ZWEI_DOCS)

 - Beim Kommentarschreiben in die benutzer.new/old wird jetzt das Kommentarzeichen
   vorangestellt.

Version 2.0    4.10.2001
-------------------------
 - Das Description-Attribut des Templates wird jetzt auch zum User hin uebernommen.

 - Das Department-Attribut des Templates wird jetzt auch zum User hin uebernommen.

 - Auf Wunsch (Optionen/weitere Einstellungen) ist es jetzt moeglich, den Container-
   Namen des Users in die erste Zeile der Description zu uebernehmen.

 - Auf Wunsch (Optionen/weitere Einstellungen) ist es jetzt moeglich, den Container-
   Namen des Users in die erste Zeile des Departmentfeldes zu uebernehmen.

 - Im Homeverzeichnis lassen sich jetzt (beliebig viele) Unterverzeichnisse erzeugen.

 - Ab dieser BImportversion wird BImport INI-Dateien von neueren Version erkennen und
   eine Fehlermeldung abgeben.

 - Netware-Fehler werden jetzt mit der Netware-Fehlernummer ausgegeben.
   (Bei NDS-Fehlern war das schon so).

 - Fuer das Homeverzeichnis lassen sich beim Import/Update die Flags Delete-Inhibit
   und Rename-Inhibit setzen, loeschen und unveraenert beibehalten
   (unabhaengig voneinander).

 - Beim Loeschen von Benutzern werden eventuell vorhandene Delete-Inhibit- oder
   Rename-Inhibit-Flags des Homeverzeichnisses immer geloescht.

 - Vor jedem Import/Update/Loesch-Prozess werden die Vorgaben (Klassen-Container/
   Homeverzeichnisse vorhanden) getestet. Log-Protokoll in bimport_T.log.

 - Der Vorgabentest laesst sich auch abschalten.

 - Der Vorgabentest laesst sich ueber das Optionen-Menue auch ohne
   Import/Update/Loeschen durchfuehren.

 - Eine Versetzung von Benutzern in andere Container (unter Mitnahme des Home-
   Verzeichnis) kann ueber das Optionen-Menue gestartet werden.
   Dazu muss es eine Containerzuweisungsdatei geben, die enthaelt, welcher
   Container welchen Ziel-Container hat.
   (Eine Versetzung aus dem BasisContainer ist nicht moeglich).

 - Ueber das Optionen-Menue lassen sich die verschiedenen Log-Dateien anzeigen

 - Ueber das Datei/Quelldatei-Vorgaben-Menue kann ein Kommentarzeichen (Default: #)
   und ein Nichtversetzungszeichen (Default: =) fuer die Daten-Quelldatei festgelegt
   werden.
   Das Kommentarzeichen ist auch fuer die Containerzuweisungsdatei gueltig.

 - Die Datenquelldatei darf pro Schueler auch ein Versetzungfeld haben. Standard-
   maessig ist dies das 7.Feld. Ueber das Datei/Quelldatei-Vorgaben-Menue kann
   die tatsaechliche Position im Datensatz aber neu festgelegt werden.
   Wenn das Versetzungsfeld das Nichtversetzungszeichen oder ein N enthaelt,
   wird bei der Versetzung (wenn es so gewaehlt wurde) dieser Schueler nicht
   versetzt. Alles andere (also kein Nichtversetzungszeichen, kein N,
   ueberhaupt kein Versetzungsfeld im Datensatz fuehrt zur Versetzung).
   Beispiel: "HSperling",...      wird versetzt
             "HSperling",..."="   wird nicht versetzt
             "HSperling",..."N"   wird nicht versetzt
             "HSperling",..."J"   wird versetzt

 - Hat der Datensatz an der 1.Position das Nichtversetzungszeichen, so wird der
   Schueler nicht versetzt.
   Dieses Nichtversetzungszeichen an der 1.Position hat Vorrang vor dem
   Versetzungsfeld!
   Beispiel: ="HSperling",...      wird nicht versetzt
             ="HSperling",..."N"   wird nicht versetzt
             ="HSperling",..."J"   wird nicht versetzt

 - BImport ist nur bis zum Ablaufdatum benutzbar.
   Danach kann unter www.ossos.de/ossos/bimport/bimport.htm eine neue Version
   heruntergeladen werden.
   (Grund: - Vereinfachter Support, da immer nur eine, hoechstens zwei BImport-Versionen
             im Einsatz sind.
           - Spaeter wird eventuell fuer nichtberechtigte Nutzer eine Pflicht-
             Registrierung eingefuehrt. Fuer die Nutzer der Gruppen 1,2,3 der Nutzungs-
             bestimmung bleibt BImport kostenfrei.)

 - Logdateien optimiert

 - Uber den Datei-Menue-Punkt "Erzeuge BIMPORT.INI neu" wird das jetzt auch wirklich getan.


Version 1.54   20.1.2001
------------------------
 - Wenn im Template das Attribut "Limit grace logins" gesetzt ist, wird jetzt beim
   User auch das Attribut "Remaining grace logins" gesetzt, und zwar auf den gleichen
   Wert wie der Wert des "Limit grace logins" des Templates.

 - Ein Doppelclick auf die Felder Datenquelle, Basis-Container, Home-Volume,
   Basis-HomeDir, Template, Logdatei bzw. ein Klick auf die rechts daneben plazierten
   Buttons die Auswahl per Dialog.
   Bei den Feldern Datenquelle und Logdatei ist dies eine Datei-Open-Dialog, bei den
   restlichen Feldern oeffnet sich ein NDS-Browser.

Version 1.53   13.12.2000
-------------------------
 - Fehler, die mit NW-Fehler bezeichnet sind, hatten immer die Fehlernummer 0.
   Jetzt sind die Fehlernummern die korrekten Netware-Fehlernummern

Version 1.52   1.10.2000
------------------------
 - Praezisierung der Nutzungsbestimmung
   (Siehe Menuepunkt Datei/Nutzungsbestimmung)

Version 1.51   19.9.2000
------------------------
 - Fehler: wenn keine INI-Datei vorhanden ist, wurden die Quelldaten-Vorgaben nicht angezeigt.
   Status: Fehler beseitigt

Version 1.5    14.9.2000
------------------------

 - Waehlbare Felder fuer die Daten-Quelldatei
   Aus den Feldern User, Klasse, Nachname, Vorname, Voller-Name, Volume-Restrictions
   kann eine beliebige Quelldatenstruktur gewaehlt werden.
   (Nur die Felder User und Nachname sind Pflicht).

 - Waehlbares Feldbegrenzungszeichen (Default: ")

 - Waehlbares Feldtrennzeichen (Default: ,)
   (Tatsaechlich spielt das Trennzeichen zur Zeit keine Rolle)

 - Es gibt jetzt zwei Log-Dateien, eine fuer Import/Update, eine fuer Loeschen:
   bimport_I.log und bimport_L.log

 - In Usernamen werden Bindestriche, Apostrophe
   herausgefiltert. (Leerzeichen wurden schon gefiltert).

 - In Klasse, Nachname werden Leerzeichen, Bindestriche, Apostrophe
   herausgefiltert.

 - Zusaetzlich zum Fortschrittsbalken gibt es jetzt noch
   einen Zaehler

 - Nachdem man einmal den Start-Knopf gedrueckt hat, ist man leicht geneigt, nach dem
   Import/Update- oder Loesch-Prozess den Start-Knopf nocheinmal zu druecken.
   In diesem Fall erscheint jetzt eine Abfrage.
   (Wenn der Modus gewechselt wird, erscheint die Abfrage erst wieder beim 2.Start).

 - Wenn der Import/Update- oder Loesch-Prozess gestartet wurde, ist der
   "Start"-Button mit "Stop" beschriftet und dient in dieser Zeit zum
   Abbruch des laufenden Prozesses.

Version 1.4   10.05.2000
------------------------

   Beliebig viele INI-Dateien.
   Ausführliche Nutzungsbestimmungen.
   Das BasisHomeDir-Feld und das Home-Volume-Feld sind
   nur zugaenglich, wenn kein Template benutzt wird.
   In der Attributsliste ist es jetzt moeglich, ausser
   einem Haekchen oder keinem Haekchen auch "weder noch"
   (also grau) einzugeben. Bedeutung:

      Haekchen       : Attribut wird vom Template zum
                       User uebernommen
      kein Haekchen  : Attribut wird beim User gelöscht
      grau unterlegt : Attribut beim User wird gelassen,
                       wie es ist. 

Version 1.3   30.04.2000
------------------------

   erste öffentliche Version
