Show last authors
1 = 批量修改 =
2
3
4 ➡️ 介绍如何批量修改对象。
5
6
7 在 iTop 中,有两种方法可以进行批量修改:
8
9 * **交互式 CSV 导入**:这对于重新导入一组已导出并修改的数据非常有用。
10 * **列表上的修改操作**:这对于数据清理(规范化)很有用,当希望将一组对象内的值进行对齐时,或者在需要以相同方式修改许多对象时很有用。
11
12 == ==
13
14 == 交互式 CSV 导入 ==
15
16
17 iTop 提供了强大的 CSV 导入功能,以帮助终端用户(和管理员)在 iTop 中批量创建或更新对象。
18
19
20 (% class="box infomessage" %)
21 (((
22 [[image:http://wiki.itop.work/docs/images/tip.png||alt="提示"]] CSV 导入**故意不会**在值上应用任何过滤器,就像在控制台中编辑对象时一样。它也不会应用任何预填充。但是在保存对象时进行相同的检查。
23 )))
24
25
26 要启动 CSV 导入向导,请单击**数据管理**部分中的~*~*//CSV 导入//~*~*菜单。
27
28
29 [[image:https://www.itophub.io/wiki/media?w=250&tok=a1724f&media=3_1_0:user:csv-import-menu.png||alt="CSV 导入菜单项"]]
30
31
32 (% class="box infomessage" %)
33 (((
34 [[image:http://wiki.itop.work/docs/images/warning.png||alt="警告"]] 只有具有**批量修改**权限的用户才允许使用交互式 CSV 导入。
35 )))
36
37 === ===
38
39 === CSV 模板 ===
40
41
42 iTop 为创建/导入任何类别的对象提供了 CSV 模板。你可以从 CSV 导入向导的第三个选项卡**模板**中下载或复制/粘贴模板。
43
44
45 [[image:https://www.itophub.io/wiki/media?w=600&tok=2413a9&media=3_1_0:user:csv-import-template-1.png||alt="CSV 导入模板"]]
46
47
48 从下拉列表中选择所需的类以生成模板。然后单击~*~*//大的 Excel 图标//~*~*以下载模板,或从图标下面的文本区域中复制/粘贴文本。
49
50
51 (% class="box infomessage" %)
52 (((
53 [[image:http://wiki.itop.work/docs/images/tip.png||alt="提示"]] 获得填充模板的另一种方法是从 CSV 中导出现有对象。有关如何执行此任务的详细说明,请参见[[导出数据>>url:https://www.itophub.io/wiki/page?id=3_1_0:advancedtopics:exportdata]]。
54 )))
55
56 === ===
57
58 === 值的预期格式 ===
59
60
61 为了加载某些类型的属性,需要以特定的格式提供它们的值。
62
63
64 ==== 关联集合(LinkedSet) ====
65
66
67 点击[[这里>>url:https://www.itophub.io/wiki/page?id=3_1_0:advancedtopics:import_a_link_set]]了解导入关系所需的格式。
68
69
70 ==== 日期 ====
71
72
73 导入数据的日期格式可以在导入过程中指定,但是源文件中的所有日期必须使用相同的格式。这个格式可以是你的 iTop 上默认的格式,也可以是指定的任何格式。
74
75
76 ==== 包含 HTML 的文本 ====
77
78
79 你可以提供带有标签的原始 HTML。示例:<p><b>加粗</b><br>是的</p>
80
81
82 ==== 图片/文件(2.4 中的新增功能) ====
83
84
85 某些类别包含图片或文件文档作为其字段之一。例如,人员 类别包含一个 Picture 字段,用于保存此人的照片。在交互式编辑 人员 时,用户可以从计算机上传图像以提供人的照片。然而,在执行 CSV 导入时,不可能“上传”此类文件,也不能将其内容放在 CSV 文件本身中,因为 CSV 格式不支持这样做。
86
87
88 在这种情况下,CSV 文件必须在适当的 CSV 列中提供**用于上传文件的 URL**。这个 URL 必须能够从 iTop 服务器访问,并返回预期的图像(或文件文档)。如果上传失败,或者上传的文档格式与字段的预期格式不匹配(例如,如果 URL 对于picture字段不返回图像),则此字段的导入/更新将失败(整个 CSV 行将被拒绝)。
89
90
91 [[image:http://wiki.itop.work/docs/images/note.png||alt="备注"]]
92
93 >(% class="box warningmessage" %)
94 (((
95 **限制:**
96 )))
97
98 (((
99 * (((
100 (% class="box warningmessage" %)
101 (((
102 URL **必须**直接指向要上传的图像(不支持重定向)
103 )))
104 )))
105 * (((
106 (% class="box warningmessage" %)
107 (((
108 URL 必须可以从 iTop Web 服务器访问(注意,一些公共网站可能会拒绝 PHP 脚本的访问 - 它们会检查 HTTP User Agent 字符串)
109 )))
110 )))
111 * (((
112 (% class="box warningmessage" %)
113 (((
114 URL **不能**需要身份验证,因为上传是由 iTop 服务器自身执行的
115 )))
116 )))
117 * (((
118 (% class="box warningmessage" %)
119 (((
120 **支持**指向 iTop 本身的 URL(例如,CSV/Excel 导出提供的 URL)。但仅当它们指向同一个 iTop 实例时(在这种情况下,导入将解析所提供的 URL,并从 iTop 数据库中读取文档)。
121 )))
122 )))
123 * (((
124 (% class="box warningmessage" %)
125 (((
126 如果使用**管理员帐户**执行 CSV 导入,可以指定位于 iTop 服务器本身上的文件路径(但这仅适用于管理员)。
127 )))
128 )))
129 )))
130
131 ==== ====
132
133 ==== ====
134
135 ==== 外部对象 ====
136
137 要加载作为对其他对象的外部键的属性,可以提供作为远程类的“一致属性”声明的任何组合的属性。
138
139 例如:如果要加载 用户请求 并设置 发起人(//caller_id//),则可以提供以下列的任何组合来标识发起人:
140
141 * Caller->Email
142 * Caller->Organization name
143 * Caller->First Name
144 * Caller->Last Name
145 * Caller->Full Name
146 * Caller->Employee number
147
148 ==== ====
149
150 ==== 标签集合(TagSet) ====
151
152
153 要加载标签集合属性,必须以带有|分割的标签的**标签**导入。最好在开头和末尾都放置一个标签。
154
155 === ===
156
157 === 上传数据 ===
158
159
160 CSV 导入的第一步是将数据上传到服务器。你可以从计算机上传文件,也可以直接将数据复制/粘贴到向导的第二个选项卡中。
161
162 要从计算机上传文件,请在向导的第一个选项卡上使用文件上传表单。确保你还选择了用于保存文件的适当字符集。
163
164
165 (% class="box infomessage" %)
166 (((
167 [[image:http://wiki.itop.work/docs/images/tip.png||alt="提示"]] 如果下拉列表中没有你使用的字符集,请联系您的 iTop 管理员(通过 csv_import_charsets 配置变量可以配置此列表)。
168 )))
169
170
171 如果选择复制/粘贴数据,请使用向导的第二个选项卡**复制和粘贴数据**:
172
173
174 [[image:https://www.itophub.io/wiki/media?w=800&tok=ecf8c9&media=3_1_0:user:csv-import-copy.png||alt="复制和粘贴数据"]]
175
176
177 然后单击~*~*//下一步 »//~*~*以继续进行向导的下一步。
178
179
180 [[image:https://www.itophub.io/wiki/media?w=800&tok=239773&media=3_1_0:user:csv-import-person-step2.png||alt="CSV 导入步骤 2"]]
181
182
183 以下参数在此步骤中必须进行调整:
184
185
186 |=参数|=意义
187 |分隔符字符|这是用于在 CSV 文件内部分隔不同列的字符。如果在页面底部的预览中正确显示并分隔列,那么当前的选择就是正确的(CSV 文件的典型选择是逗号)
188 |文本限定符字符|有时单元格内的值包含分隔符字符。此类字段然后由**文本限定符**字符括起来,以防止分隔符字符在单元格中间被错误解释。(典型值是单引号或双引号)
189 |将第一行视为标头|如果文件的第一行包含标头(列名)而不是实际数据,请选中此复选框。请注意,在页面底部的预览中,标头行以不同的颜色显示。
190 |在开始处跳过 x 行|一些 CSV 文件(通常是手动创建的脚本生成的 CSV 文件)在文件的开始部分包含一些注释。使用此设置来告诉 iTop 忽略所需数量的行以跳过注释。跳过的行会从页面底部的预览中移除。
191 |日期格式|指定您的源数据中的日期和日期时间字段是以哪种格式编写的。您必须为源数据中的所有日期使用单个格式。如果日期不需要指定时间,如果日期时间不包含任何时间信息,则将使用 00:00:00
192
193 (% class="box infomessage" %)
194 (((
195 [[image:http://wiki.itop.work/docs/images/warning.png||alt="警告"]] 如果预览中的重音字符未正确显示,请使用~*~*« 返回~*~*按钮返回向导的第一页,并在再次上传 CSV 文件之前选择适当的字符集。
196 )))
197
198
199 一旦预览中的数据看起来正确,点击~*~*//下一步 »//~*~*按钮以继续向导的下一步:
200
201
202 [[image:https://www.itophub.io/wiki/media?w=800&tok=31ecd7&media=3_1_0:user:csv-import-person-step3.png||alt="数据映射"]]]([[https:~~/~~/www.itophub.io/wiki/media-detail?id=3_1_0:user:bulk_modify&media=3_1_0:user:csv-import-person-step3.png>>url:https://www.itophub.io/wiki/media-detail?id=3_1_0:user:bulk_modify&media=3_1_0:user:csv-import-person-step3.png]] “3_1_0:user:csv-import-person-step3.png”)
203
204 导入向导的第三步是定义CSV文件的列与iTop对象字段之间的映射关系。
205 首先:在下拉列表中**选择要导入的类**。这将确定可用于映射的字段列表。
206 如果您想要的类不在列表中:
207
208 * 或许您没有足够的访问权限,您需要在该类上拥有 bulk-modify 权限才能允许导入CSV对象。
209 * 或许无法导入该类的对象,对于一些iTop内部类(CMDBChange,CMDBChangeOp,Event等),甚至对于管理员也是如此。
210
211 === ===
212
213 === 字段映射 ===
214
215
216 如果CSV文件最初是使用模板或iTop的CSV导出功能创建的,那么CSV中提供的标题应该会自动为您提供正确的映射关系。
217
218 如果不是这种情况,您将需要手动创建这些映射。
219
220
221 (% class="box infomessage" %)
222 (((
223 [[image:http://wiki.itop.work/docs/images/note.png||alt="备注"]] 向导要求为要导入数据的每一列提供映射。不过,您可以通过选择 **– 忽略该栏 –** 作为该列的映射来忽略某列(即不导入该列)。
224 )))
225
226 === ===
227
228 === 搜索条件 ===
229
230
231 CSV导入向导可用于在iTop中创建或更新对象。向导在此步骤使用所定义的 搜索条件 来确定CSV文件的每一行是否对应于iTop中的现有对象。如果对象存在,则将对其进行更新;否则将创建新对象。通常情况下,在iTop的搜索表单中,所有选定的 搜索条件 都会使用AND运算符进行组合。(即对象的每个**搜索**条件都必须匹配才视为匹配项)。
232
233
234 (% class="box infomessage" %)
235 (((
236 [[image:http://wiki.itop.work/docs/images/warning.png||alt="警告"]] 在iTop中,完全相同的导入CSV文件可能会因所选的 搜索条件 不同而产生不同的结果。在此阶段定义的搜索条件将影响所创建或更新的对象数量。
237 )))
238
239 >
240 >>[[image:http://wiki.itop.work/docs/images/tip.png||alt="提示"]] **高级用法(管理员专用)**
241 >>管理员可以访问**高级模式**(页面右上角的复选框),该模式允许根据对象的内部标识符(ID或Key编号)导入对象。这对于从iTop中导出并重命名对象非常有用。请勿将此选项用于未从iTop导出的对象,或者至少确保您了解正在导入的数据!**高级模式** 还允许管理员像[[此处所述>>url:https://www.itophub.io/wiki/page?id=3_1_0:advancedtopics:import_a_link_set]]导入**链接集合(LinkedSet)**。
242 >
243
244 >
245 >>[[image:http://wiki.itop.work/docs/images/tip.png||alt="提示"]] **设计提示(管理员专用)**
246 >>每个类在数据模型中都定义了“协调属性”。如果在加载中提供了这些属性,则它们会自动设置为“搜索条件”。 如果用户希望通过加载更新其中一些搜索条件,必须取消选中它们,并使用其他条件来检索iTop对象。 一旦映射和搜索条件看起来正确,请通过点击 **//模拟导入//** 按钮进行导入模拟。
247 >
248
249 ==== ====
250
251 ==== 模拟导入 ====
252
253
254 几秒钟后,将显示以下摘要界面:
255
256
257 [[[[image:https://www.itophub.io/wiki/media?w=800&tok=4f2372&media=3_1_0:user:csv-import-person-step4-errors.png||alt="带错误的第四步"]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:csv-import-person-step4-errors.png]]
258
259
260 错误行以红色背景突出显示。错误不会阻止导入运行,但相应的行将被拒绝。
261
262
263 该界面提供了有关未能理解的内容的反馈。
264
265 * 人员状态中的“active”值是枚举类型的字段,但未能理解。active是存储在数据库中的实际代码,但这不是iTop在此处所期望的,它期望该代码在用户语言环境下的标签,所以您应该提供首字母大写的“Active”。
266 * 没有名为“IT Department2”的组织。→ //小心,这可能是由于当前用户无权查看该特定组织。//
267 * iTop无法确定您想要使用的巴黎位置。在这个示例中,数据库包含两个巴黎位置,一个位于“IT Department”组织下,另一个位于“Demo”组织下。
268
269 要解决最后一个错误,请重新启动加载并在Excel中**添加一个新列**,以指定“位置->所有者组织的名称”。
270
271
272 [[[[image:https://www.itophub.io/wiki/media?w=800&tok=b64fe5&media=3_1_0:user:csv-import-person-step3-error-fixed.png||alt="带修复的数据映射"]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:csv-import-person-step3-error-fixed.png]]
273
274
275 注1:最后一行的映射是手动完成的(//第一列和第二列的值不同//),因为我不知道“位置组织”的确切预期命名。
276
277 注2:尝试映射所提供的位置名称时,它不会检查此位置是否与数据模型中定义的筛选器相匹配。出于优化性能的考虑,当加载大量数据时,特意做出了这个技术选择。
278
279
280 [[[[image:https://www.itophub.io/wiki/media?w=800&tok=7a501b&media=3_1_0:user:csv-import-person-step4-no-error.png||alt="没有错误的第四步"]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:csv-import-person-step4-no-error.png]]
281
282
283 注意要创建的对象数量、要更新的对象数量以及错误数量。您可以使用页面顶部的复选框来筛选显示,以更快地分析结果。
284
285 如果模拟结果看起来奇怪,可能是 搜索条件 不正确。然后按下**返回**按钮更改它们并再次进行模拟。如果需要修改数据,请点击 //**|« 重来**//(**复制和粘贴数据**选项卡将包含上传的数据副本)。如果模拟看起来正确,请点击 //**执行导入!**// 执行实际导入。
286
287 === ===
288
289 === 执行导入 ===
290
291
292 如果导入的对象数量和要创建或更新的对象百分比超过一定水平,将显示确认对话框:
293
294 [[[[image:https://www.itophub.io/wiki/media?w=300&tok=9a5d44&media=3_1_0:user:csv-import-5.png||alt="CSV导入确认对话框"]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:csv-import-5.png]]
295
296
297 点击~*~*//确定//~*~*关闭对话框并继续进行数据导入。
298
299 向导的最后一个界面显示了导入过程中执行的操作摘要。
300
301
302 [[[[image:https://www.itophub.io/wiki/media?w=800&tok=946bd0&media=3_1_0:user:csv-import-person-step5.png||alt="导入摘要"]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:csv-import-person-step5.png]]
303
304 >
305 >>[[image:http://wiki.itop.work/docs/images/tip.png||alt="提示"]]在发生错误的情况下,被拒绝的行会列在报告底部,可以将其复制/粘贴,并在重新导入之前进行修正。
306 >>另一种方法是进行 //迭代// :
307 >
308
309 (((
310 1. 完成导入向导,并记录哪些行出现了错误。包含错误的行将被简单地忽略。
311 1. 在您的引用CSV文件中修复出现错误的行。
312 1. 使用您的引用CSV文件(整个文件)重新运行导入。
313 1. 重复直到没有错误。
314
315 iTop将忽略未更改的行,因为相应的数据已经是最新的(除非在两次导入之间被其他人修改)。如果您需要维护数据的引用CSV文件,则迭代整个CSV文件可能是首选。
316 )))
317
318 == ==
319
320 == 修改操作 ==
321
322
323 iTop允许对一组对象进行批量修改。此操作非常有用,可以在一次操作中将多个对象的字段设置为相同的值。
324
325 * **批量修改**。这仅在列表中的所有对象都属于相同类别的情况下才可能实现。例如,不能对联系人列表执行**修改**操作,因为列表可能包含团队和个人。如果要执行此操作,请确保将搜索范围缩小到仅涵盖一个对象类别。
326 * **受限访问**。并非所有用户都被允许执行批量操作。如果下拉列表中没有显示菜单项,请请求管理员检查您的iTop帐户的安全配置。
327 * **修改大量对象**。(几百个或更多)可能需要较长的时间来执行。由于出于安全原因,所有交互操作都有时间限制(超时),在执行重要修改之前,请联系管理员以检查是否允许/可持续在交互模式下执行。用于大规模更新操作的备选解决方案是准备一个CSV文件,在服务器上直接以命令行模式加载。
328 *
329
330 [[[[image:https://www.itophub.io/wiki/media?w=800&tok=8b1127&media=3_1_0:user:menu-modify-all.png||alt="全部修改.."]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:menu-modify-all.png]]
331
332
333 从**其他操作**菜单项中选择~*~*//修改//~*~*,将显示以下页面:
334
335
336 [[[[image:https://www.itophub.io/wiki/media?w=800&tok=181766&media=3_1_0:user:modify-all-2.png||alt="全部修改"]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:modify-all-2.png]]
337
338
339 在这一步中,您可以选择要更新的对象。默认情况下,所有对象都被选中,从而进行修改。浏览列表以检查是否存在问题,然后点击~*~*//下一步 »//~*~*继续到下一个界面。
340
341 **对象修改表单**显示了每个字段旁边的复选框和数值指示器。指示器显示了在所选对象的所有字段中存在多少不同的值。如果所有对象的该字段具有相同的值,则指示器为绿色([[[[image:https://www.itophub.io/wiki/media?media=3_1_0:user:homogenous-indicator.png||alt="仅一个值"]]>>url:https://www.itophub.io/wiki/media-detail?id=3_1_0:user:bulk_modify&media=3_1_0:user:homogenous-indicator.png]]),复选框已选中且字段可编辑。否则,指示器为红色,复选框未选中。当鼠标指针位于红色指示器上方时,将显示工具提示,显示有关字段的不同值的信息。
342
343 [[[[image:https://www.itophub.io/wiki/media?w=800&tok=3d0de8&media=3_1_0:user:modify-all-3.png||alt="全部修改表单"]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:modify-all-3.png]]
344
345
346 只有与复选框对应的字段将被修改。所有其他字段将保持不变。通过选中**红色**指示器(即包含多个不同值的字段)前的复选框,可以将所有值强制修改为相同的值。
347
348 点击~*~*//预览修改 »//~*~*以显示确认界面:
349
350 [[[[image:https://www.itophub.io/wiki/media?w=800&tok=6cb828&media=3_1_0:user:modify-all-4.png||alt="全部修改确认"]]>>url:https://www.itophub.io/wiki/media?media=3_1_0:user:modify-all-4.png]]
351
352 检查列表查看**错误**列中是否报告了任何错误,准备就绪后,点击~*~*//全部修改//~*~*以执行实际的批量修改。
353
354
355 (% class="box infomessage" %)
356 (((
357 [[编辑仪表盘>>url:http://wiki.itop.work/docs/enduser/09-editing_dashboards/]]  ← 上一篇 | 下一篇 → [[理解审计>>url:http://wiki.itop.work/docs/enduser/11-understanding_audits/]]
358 )))
359
360 ----
361
362 原文:[[https:~~/~~/www.itophub.io/wiki/page?id=3_1_0:user:bulk_modify>>url:https://www.itophub.io/wiki/page?id=3_1_0:user:bulk_modify]]
363
364 版本:3_1_0/user/bulk_modify.txt · Last modified: 2023/07/21 10:19 (external edit)
深圳市艾拓先锋企业管理咨询有限公司