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