Syncronistation LDAP -> DB für Agenten

Hilfe zu Znuny Problemen aller Art
Locked
docfun
Znuny newbie
Posts: 5
Joined: 15 Apr 2015, 17:58
Znuny Version: 2.4.7
Real Name: Florian

Syncronistation LDAP -> DB für Agenten

Post by docfun »

Hallo zusammen,

Ich habe auf meinem Test System erfolgreich die Authentifizierung der Agenten auf LDAP umgestellt. Auch das Synchronisieren der Rollen an Hand von AD Gruppen habe ich erfolgreich ans laufen bekommen. Soweit so gut, was mich aber stört ist die Tatsache das ich bisher jeden Agenten im AD und in der OTRS Datenbank anlegen muss.
Ich habe mich daher ein wenig umgeschaut und dachte mir ich verändere dieses Skript https://github.com/OTRS/otrs/blob/rel-4 ... LDAP2DB.pl etwas um die Agenten aus dem AD automatisch in der DB des OTRS an legen zulassen.
Ich habe mir das Skript also kopiert, umbenannt und nach bestem Gewissen angepasst (benötigte Attribute und Tabelle angepasst, Daten zum LDAP Server angepasst etc.). Wenn ich das Skript ausführe werden auch alle Benutzer im AD gefunden das. Das Anlegen und Aktualisieren der Agenten in der Datenbank schlägt aber fehl.
UPDATE: bbunny
[Sun Apr 19 22:29:35 2015] otrs.AgentSyncLDAP2DB.pl: DBD::mysql::db do failed: Unknown column 'b' in 'field list' at /opt/otrs-4.0.6/Kernel/System/DB.pm line 432.
ERROR: OTRS-otrs.AgentSyncLDAP2B-55 Perl: 5.18.2 OS: linux Time: Sun Apr 19 22:29:35 2015

Message: Unknown column 'b' in 'field list', SQL: 'UPDATE users SET b = '', b = '', valid_id = 1, change_time =
'2015-04-19 22:29:35'
, change_by = 1 WHERE login = ?'

Traceback (1873):
Module: ./otrs.AgentSyncLDAP2DB.pl Line: 163
Ich habe das Gefühl das das Skript den sAMAccountName zerstückelt. Oder habe ich nur einen Denkfehler in meinen Anpassungen?

Hier die Anpassungen die ich am o.g Skript gemacht habe:

Code: Select all

# create object manager
local $Kernel::OM = Kernel::System::ObjectManager->new(
    'Kernel::System::Log' => {
    #    LogPrefix => 'OTRS-otrs.SyncLDAP2DB',
         LogPrefix => 'OTRS-otrs.AgentSyncLDAP2B',
    },
);

my $UidLDAP = 'sAMAccountName';
my $UidDB   = 'login';

my %Map = (

    # db => ldap
#    email       => 'mail',
#    customer_id => 'mail',
    first_name  => 'sn',
    last_name   => 'givenname',
#    pw          => 'test',

    #    comments => 'description',
#    comments => 'postaladdress',
);

my $LDAPHost    = 'flodc01.docnet.local';
my %LDAPParams  = ();
my $LDAPBaseDN  = 'OU=User,OU=Duesseldorf,OU=DE,DC=docnet,DC=local';
my $LDAPBindDN  = 'CN=svc-otrs,OU=ServiceAccounts,DC=docnet,DC=local';
my $LDAPBindPW  = 'somePass';
my $LDAPScope   = 'sub';
my $LDAPCharset = 'utf-8';

#my $LDAPFilter = '';
my $LDAPFilter = '(ObjectClass=*)';

my $DBCharset = 'utf-8';
my $DBTable   = 'users';
Locked