批量禁用OTRS中的客户

问题是关于OTRS客户。 我不能使用外部客户后端,所以我想通过CSV文件更新客户数据库。 我已经写了一个脚本来通过otrs.AddCustomerUser.pl添加新的客户。

但是,我怎么能通过一个脚本批量禁用老客户?

我创build了一个基于otrs.AddCustomerUser.pl的脚本来使客户用户失效:

otrs.DisableCustomerUser.pl

 #!/usr/bin/perl use strict; use warnings; use File::Basename; use FindBin qw($RealBin); use lib dirname($RealBin); use lib dirname($RealBin) . '/Kernel/cpan-lib'; use lib dirname($RealBin) . '/Custom'; use Kernel::Config; use Kernel::System::Encode; use Kernel::System::Log; use Kernel::System::Time; use Kernel::System::Main; use Kernel::System::DB; use Kernel::System::CustomerUser; # create common objects my %CommonObject; $CommonObject{ConfigObject} = Kernel::Config->new(%CommonObject); $CommonObject{EncodeObject} = Kernel::System::Encode->new(%CommonObject); $CommonObject{LogObject} = Kernel::System::Log->new( %CommonObject, LogPrefix => 'OTRS-otrs.DisableCustomerUser.pl' ); $CommonObject{TimeObject} = Kernel::System::Time->new(%CommonObject); $CommonObject{MainObject} = Kernel::System::Main->new(%CommonObject); $CommonObject{DBObject} = Kernel::System::DB->new(%CommonObject); $CommonObject{UserObject} = Kernel::System::CustomerUser->new(%CommonObject); my %Options; use Getopt::Std; getopt( 'c', \%Options ); unless ( $ARGV[0] ) { print "$FindBin::Script [-c CustomerID] username\n"; print "\n"; exit; } my %Param; $Param{Source} = 'CustomerUser'; $Param{UserLogin} = defined $Options{c} ? $Options{c} : $ARGV[0]; my %User = $CommonObject{UserObject}->CustomerUserDataGet( User => $Param{UserLogin}); if ( !%User ) { print "No such user '$Param{UserLogin}'!\n"; exit(1); } my $Success = $CommonObject{UserObject}->CustomerUserUpdate( Source => 'CustomerUser', ID => $User{UserCustomerID}, UserCustomerID => $User{UserCustomerID}, UserLogin => $User{UserCustomerID}, UserFirstname => $User{UserFirstname}, UserLastname => $User{UserLastname}, UserEmail => $User{UserEmail}, ValidID => 2, UserID => 1, ); if($Success eq 1){ print "Set customer user $User{UserCustomerID} to invalid.\n"; } exit(0); 

调用:

 # otrs.DisableCustomerUser.pl [-c CustomerID] username