Michael Asked: 2014-11-04 07:07:13 +0800 CST2014-11-04 07:07:13 +0800 CST 2014-11-04 07:07:13 +0800 CST OTRS 中的大规模禁用客户 772 问题在于OTRS客户。我不能使用外部客户后端,所以我想通过 CSV 文件更新客户数据库。我已经编写了一个脚本来通过otrs.AddCustomerUser.pl. 但是如何通过脚本批量禁用老客户? php 1 个回答 Voted Best Answer Federico Sierra 2014-11-04T09:04:20+08:002014-11-04T09:04:20+08:00 我创建了一个基于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
我创建了一个基于
otrs.AddCustomerUser.pl
使客户用户无效的脚本:otrs.DisableCustomerUser.pl:
调用: