自动导入用户

您现在可以通过更改 globalconfig 表中的一个条目来自动执行 CSV 用户导入过程。此功能有助于定期更新用户存储库。

 

步骤 1:启用 CSVUserImportSchedule

仅当 globalconfig 表中的 CSVUserImportSchedule 条目被设置为 true 时,才能启用自动用户导入。这允许调度程序连接到数据库服务器并更新详细信息。

运行以下查询,检查 globalconfig 表中 category 为 CSVUserImportSchedule 的条目是否设置为 true false

 

select * from globalconfig where category like 'CSVUserImportSchedule';

 

                     在 Windows 终端中验证 globalconfig 表条目的示意图

 

默认情况下,CSVUserImportSchedule 设置为 false。您可以通过执行以下查询来启用调度程序:

 

update globalconfig set paramvalue=true where category like 'csvuserimportschedule';

 

您还可以在 ServiceDesk Plus 中通过 报表 >> 新建查询报表 执行以下查询来检查 CSVUserImportSchedule 条目的状态。

 

select * from globalconfig where category like 'CSVUserImportSchedule';

 

系统将生成一个报表,其中 CSVUserImportSchedule 条目将显示在 paramvalue 列中。但是,您无法通过应用程序 UI 修改 globalconfig 表。

 

 

重新启动应用程序以使配置生效。

 

步骤 2:映射字段

为确保自动化高效运行,请确保用户数据已更新到 requesters.csv 文件中。您可以在 [SDP-Home] 下找到 requesters.csv 文件。如果您已按如下说明完成文件映射,也可以在提供的其他 CSV 文件中更新用户数据:

  1. 在 ScheduledCSVUserImportMapping.xml 文件中配置更新用户数据的 CSV 文件名称和路径。ScheduledCSVUserImportMapping.xml 文件位于 [SDP-HOME\conf] 目录下。
  2. 通过将 AppFieldName 和 CsvFieldName 添加到以下代码中,手动将 CSV 文件中的字段映射到用户字段。

 

<USERFIELDMAPPING AppFieldName="{SDP-字段名}" CsvFieldName="{CSV-字段名}"/>

 

请参考以下截图:

 

 

请确保 CSV 文件和 ScheduledCSVUserImportMapping.xml 文件中的所有日期字段格式一致。

 

步骤 3:更新时间导入计划

在 globalconfig 表中启用 CSVUserImportSchedule 条目后,即可安排自动导入。您可以使用以下查询配置导入的开始时间:

 

update task_input set schedule_time='yyyy-mm-dd hh:mm:ss' where schedule_id in (select schedule_id from schedule where schedule_name like 'csvuserimportschedule');

 

例如,如果您希望将导入计划时间更新为 2040 年 8 月 20 日 18:00:44,则查询语句如下:

 

update task_input set schedule_time='2040-08-20 18:00:44' where schedule_id in (select schedule_id from schedule where schedule_name like 'csvuserimportschedule');

 

更新导入计划时间后,请重新启动应用程序。

 

步骤 4:配置导入频率

默认情况下,自动导入每 24 小时计划执行一次。您可以使用以下查询更新导入频率:

 

update periodic set time_period=6 where schedule_id in (select schedule_id from schedule where schedule_name like 'csvuserimportschedule');

 

在上述查询中,请将 “time_period=6” 中的 “6” 替换为您希望配置的小时数,以此设置自动导入的时间间隔。

您可以使用以下查询查看自动导入的计划时间间隔。

 

select * from periodic where schedule_id in (select schedule_id from schedule where schedule_name like 'csvuserimportschedule');

 

导入过程将在计划时间自动启动,CSV 文件将被重命名以确认导入过程已完成。导入文件的名称将更新为包含日期和执行时间,以供参考。

 

示例文件名:

requesters_08_16_2021_18_00.csv

requesters_08_17_2021_18_00.csv

 

以下是当导入文件在配置位置缺失时的系统日志查看器截图。