在管理员界面中,单击主菜单中的“帐户”。
单击次级菜单中的“启动批量操作”。
填写表单,然后单击“启动”。
Identity Manager 将启动后台任务以执行批量操作。
要监视批量操作任务的状态,请单击主菜单中的“服务器任务”,然后单击“所有任务”。
可使用逗号分隔值 (CSV) 格式指定批量操作列表。这样您便可在单个操作列表中混合各种不同的操作类型。此外,可指定更复杂的创建和更新操作。
CSV 格式由两个或多个输入行组成。每一行由逗号分隔的值列表组成。第一行包含字段名称。其余的每一行都对应于要对 Identity Manager 用户和/或该用户的资源帐户执行的操作。每一行都应包含相同个数的值。空值将保持相应字段值不变。
任何批量操作 CSV 输入中都必需有这两个字段:
user。包含 Identity Manager 用户的名称。
command。包含对 Identity Manager 用户执行的操作。有效命令有:
Delete。对资源帐户和/或 Identity Manager 帐户执行删除、取消分配和解除链接操作。
DeleteAndUnlink。删除资源帐户并将其解除链接。
Disable。禁用资源帐户和/或 Identity Manager 帐户。
Enable。启用资源帐户和/或 Identity Manager 帐户。
Unassign。取消分配资源帐户并解除其链接。
Unlink。将资源帐户解除链接。
Create。创建 Identity Manager 帐户。(可选)创建资源帐户。
Update。更新 Identity Manager 帐户。(可选)创建、更新或删除资源帐户。
CreateOrUpdate。如果 Identity Manager 帐户尚不存在,则执行创建操作。否则执行更新操作。
如果您要执行 Delete、DeleteAndUnlink、Disable、Enable、Unassign 或 Unlink 操作,则需要指定的唯一附加字段是 resources。使用 resources 字段指定哪些资源上的哪些帐户将受到影响。
“资源”字段可能具有以下值:
all。处理所有资源帐户,其中包括 Identity Manager 帐户。
resonly。处理除 Identity Manager 帐户之外的所有资源帐户。
resource_name [ | resource_name ... ]. 处理指定的资源帐户。指定 Identity Manager 以处理 Identity Manager 帐户。
下面是这些操作中几个操作的 CSV 格式的示例:
command,user,resources Delete,John Doe,all Disable,Jane Doe,resonly Enable,Henry Smith,Identity Manager Unlink,Jill Smith,Windows Active Directory|Solaris Server
如果您要执行 Create、Update 或 CreateOrUpdate 命令,则除了 user 和 command 字段之外,还可指定“用户视图”中的字段。使用的字段名称是视图中属性的路径表达式。有关“用户视图”中提供的属性的信息,请参见《Sun Identity Manager Deployment Reference》中的“User View Attributes”。如果您正使用自定义“用户表单”,则该表单中的字段名称包含您可使用的一些路径表达式。
在批量操作中使用的一些较常见的路径表达式有:
waveset.roles。要分配给 Identity Manager 帐户的一个或多个角色名称的列表。
waveset.resources。要分配给 Identity Manager 帐户的一个或多个资源名称的列表。
waveset.applications。要分配给 Identity Manager 帐户的一个或多个角色名称的列表。
waveset.organization。用来放置 Identity Manager 帐户的组织的名称。
accounts[ resource_name].attribute_name。资源帐户属性。属性的名称在资源的模式中列出。
以下示例展示了创建和更新操作的 CSV 格式:
command,user,waveset.resources,password.password, password.confirmPassword,accounts[Windows Active Directory].description, accounts[Corporate Directory].location Create,John Doe, Windows Active Directory|Solaris Server,changeit,changeit,John Doe - 888-555-5555, Create,Jane Smith,Corporate Directory,changeit,changeit,,New York CreateOrUpdate,Bill Jones,,,,,California
通过使用 CreateOrUpdate 命令,您可以在支持多种帐户类型的资源上指定特定的帐户类型。因此,如果某个用户在特定资源上拥有多个帐户,并且每个帐户的帐户类型各不相同,则可按照以下示例进行操作,该示例显示了如何更新 userAye 用户的管理员帐户类型:
command,user,accounts[Sim1|admin].emailAddress CreateOrUpdate,userAye,bbye8@example.com
尽管可使用 CreateOrUpdate 命令为用户的各个帐户设置特定于帐户的属性,但请注意,用户视图全局部分中的以下值将会应用于所有指定的帐户:
accountId
password
disable
所有扩展属性
因此,以下形式的 BulkOps 命令可能不会执行预期的操作。
command,user,accounts[Sim1].email CreateOrUpdate,userAye,bbye8@example.com
如果 userAye 已具有一个 email 值,则会将该值应用于 Sim1 资源上的 email 属性。没有任何方法可以改变此行为。
某些字段可以有多个值。这些字段称为多值字段。例如,waveset.resources 字段可用于为一个用户分配多个资源。可以使用竖线 (|) 字符(也称为“管道”字符)分隔字段中的多个值。可以按如下方法指定多值的语法:
value0 | value1 [ | value2 ... ]
更新现有用户的多值字段时,您可能并不希望使用一个或多个新值替换当前字段值。您可能要删除一些值或添加一些值至当前值。可以使用字段指令指定如何处理现有字段的值。字段指令在字段值之前,并且由竖线字符包围,如下所示:
|directive [ ; directive ] | field values
您可选择下列指令:
Replace。用指定值替换当前值。如果没有指定指令(或只指定 List 指令),则此指令为默认指令。
Merge。将指定值添加到当前值中。重复的值将被过滤掉。
Remove。从当前值中删除指定值。
List。即使字段只有一个值,也强制按照有多个值的方式处理它的值。因为对多数字段而言,无论有多少个字段值,都能正确处理这些值,因此该指令并不常用。此指令是唯一可用另一个指令指定的指令。
字段值区分大小写。指定 Merge 和 Remove 指令时,这一点很重要。进行合并时,值必须完全匹配才能正确将其删除或避免有多个相似的值。
如果字段值中包含逗号 (,) 或双引号 (") 字符,或者要保留前导或结尾空格,则必须将字段值用一对双引号引起来 ("field_value")。这样就需要将字段值中的双引号替换为两个双引号 (") 字符。例如,"John ""Johnny"" Smith" 的字段值为 John "Johnny" Smith。
如果字段值中包含竖线 (|) 或反斜杠 (\) 字符,则必须前置一个反斜杠(\| 或 \\)。
执行 Create、Update 或 CreateOrUpdate 操作时,"User View" 中有一些只在批量操作处理过程中使用或可用的附加属性。可在“用户表单”中引用这些属性,以提供批量操作的特定性能。
这些属性如下所列:
waveset.bulk.fields.field_name 属性;这些属性包含从 CSV 输入中读入的字段值,其中 field_name 是字段名称。例如,command 和 user 字段分别在带有路径表达式 waveset.bulk.fields.command 和 waveset.bulk.fields.user 的属性中。
waveset.bulk.fieldDirectives.field_name 属性;只对那些指定了指令的字段定义这些属性。值为指令字符串。
waveset.bulk.abort 布尔型属性;将该属性设置为 true 可中止当前操作。
waveset.bulk.abortMessage 属性;将该属性设置为消息字符串,当 waveset.bulk.abort 设置为 true 时,将显示该消息字符串。如果未设置此属性,将显示一条普通中止消息。