AdminTask 对象的 IdMgrDataModel 命令组

可以使用 wsadmin 工具通过 Jython 或 Jacl 脚本语言来管理联合存储库模式。 使用 IdMgrDataModel 组中的命令和参数来管理属性扩展存储库。 可使用 -conntype NONE 选项以已连接方式或本地方式提供这些命令。

AdminTask 对象的 IdMgrDataModel 命令组包括以下命令:

addIdMgrPropertyToEntityTypes

使用带有指定参数的 addIdMgrPropertyToEntityTypes 命令,将新属性添加到一种或多种实体类型。

目标对象

无。

必需参数

-name
使用此参数来指定添加到一种或多种现有实体类型的新属性的名称。

(字符串,必需)

-dataType
使用此参数来指定属性的数据类型。 (字符串,必需)
支持的缺省数据类型为:
  • 字符串
  • Int
  • 布尔 (Boolean)
  • 双精度
  • Base64binary
  • AnySimpleType
  • AnyURI
  • 字节
  • DateTime
  • 日期
  • Token
  • IdentifierType
注: 要扩展类型为 "对象" 的属性,必须使用 AnySimple类型数据类型。
-entityTypeNames
此参数指定在其中添加新属性的一种或多种现有实体类型的名称。 使用分号 (;) 作为定界符来指定多种实体类型。

可以在特定名称空间中使用有效的名称空间前缀 (nsPrefix) 来引用实体类型名称。 缺省名称空间前缀为 wim。 使用冒号 (:) 来指定名称空间前缀。 例如,可以使用:your_ext:Person_Account

  • your_ext 是映射到 https://www.yourco.com/yourext 名称空间 URI 的名称空间前缀。
  • Person_Account 是实体类型名称。

(字符串,必需)

可选参数

-securityDomainName
使用此参数来指定用于唯一标识安全域的名称。 如果您没有指定此参数,该命令使用全局联合存储库。 (字符串,可选)
-nsURI
使用此参数来指定在其中添加新属性的名称空间。

第一次使用名称空间 URI 时,必须将每个名称空间 URI (nsURI) 值映射到唯一名称空间前缀 (nsPrefix) 值。 如果未指定 nsURI 值,那么会将新属性添加到缺省名称空间。 缺省名称空间为 https://www.ibm.com/websphere/wim,缺省情况下映射到 wim nsPrefix 值。

(字符串,可选)

-nsPrefix
使用此参数来指定名称空间的前缀。

如果指定新的名称空间 URI (nsURI) 值,那么必须指定名称空间前缀 (nsPrefix) 值,以便将新的 nsURI 值映射到此 nsPrefix 值。 缺省 nsPrefix 值为 wim ,缺省情况下映射到 https://www.ibm.com/websphere/wim nsURI 值。

(字符串,可选)

-isMultiValued
使用此参数来指定新属性是否接受多个值。 缺省值为 false。

(布尔值,可选)

-repositoryIds
使用此参数来指定在其中添加新属性的存储库。

将分号 (;) 用作定界符以指定多个存储库标识。 如果未指定此参数,那么会包含所有已配置的存储库。

要将新属性添加到属性扩展存储库,请将 LA 指定为此参数的值。

要将新属性添加到所有指定存储库的实体类型,请指定存储库标识的列表,并且不要将 LA 包括在列表中。

要针对特定轻量级目录访问协议 (LDAP) 存储库,将属性扩展到属性扩展存储库,请指定一个包括 LA 的列表。 然后,会将新的扩展属性标记为不受此列表中所包括的其他 LDAP 存储库支持。

(字符串,可选)

-requiredEntityTypeNames
使用此参数来指定需要新属性的一种或多种实体类型。

使用分号 (;) 作为定界符来指定多种实体类型。

可以在特定名称空间中使用有效的名称空间前缀 (nsPrefix) 来引用实体类型名称。 缺省名称空间前缀为 wim。 使用冒号 (:) 来指定名称空间前缀。 例如,可以使用:your_ext:Person_Account

  • your_ext 是映射到 https://www.yourco.com/yourext 名称空间 URI 的名称空间前缀。
  • Person_Account 是实体类型名称。
例如,如果要将 contactNumber 属性添加到 PersonAccount 和 Group 实体类型,并且要求所有 PersonAccount 实体类型都具有 contactNumber 值,那么指定:
{-name contactNumber -entityTypeNames PersonAccount;Group  -requiredEntityTypeNames PersonAccount}

(字符串,可选)

-applicationId
使用此参数来指示已扩展其属性的应用程序的标识。

如果为 applicationId 参数指定了值,那么可以使用 getIdMgrEntityTypeSchema 命令来检索特定应用程序标识的扩展属性。

(字符串,可选)

示例

批处理方式示例用法:

  • 使用 Jacl:
    $AdminTask addIdMgrPropertyToEntityTypes {-name property_name_1 -dataType string -entityTypeNames entity_type_1;entity_type_2}
  • 使用 Jython 字符串:
    AdminTask.addIdMgrPropertyToEntityTypes ('[-name property_name_1 -dataType string -entityTypeNames entity_type_1;entity_type_2]')
  • 使用 Jython 列表:
    AdminTask.addIdMgrPropertyToEntityTypes (['-name', 'property_name_1', '-dataType', 'string' '-entityTypeNames', 'entity_type_1;entity_type_2'])

交互方式示例用法:

  • 使用 Jacl:
    $AdminTask addIdMgrPropertyToEntityTypes {-interactive}
  • 使用 Jython 字符串:
    AdminTask.addIdMgrPropertyToEntityTypes ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.addIdMgrPropertyToEntityTypes (['-interactive'])

getIdMgrEntityTypeSchema

getIdMgrEntityTypeSchema 命令返回实体类型模式。 该命令在连接和本地模式中都可用。

[z/OS]注: 如果对使用资源访问控制设施 (RACF) 的用户注册表以本地方式运行此命令,那么不会返回任何内容。

目标对象

无。

必需参数

无。

可选参数

-id
使用此参数来指定存储库的标识。 如果未指定此参数,那么将返回联合存储库的缺省实体类型模式。 (字符串,可选)
重要信息: 如果指定 LA 作为存储库标识,那么会发生错误,因为 LA 是属性扩展存储库的保留标识。 使用 listIdMgrPropertyExtension 命令来检索属性扩展存储库的模式。 有关更多信息,请参阅 listIdMgrPropertyExtensions 命令的描述。
-entityTypeNames
使用此参数来指定必须检索其实体类型模式的一种或多种实体类型的名称。 如果要指定多个实体类型名称,请将分号 (;) 用作定界符。 如果未指定此参数,那么将返回所有实体类型的实体类型模式。 如果实体类型不属于缺省名称空间,那么必须使用有效的名称空间前缀来引用该实体类型。 (字符串,可选)
-securityDomainName
使用此参数来指定用于唯一标识安全域的名称。 如果您没有指定此参数,该命令使用全局联合存储库。 (字符串,可选)

返回值

getIdMgrEntityTypeSchema 命令返回包含以下结构的散列映射:
Map{entityType=Map{metadata}}

getIdMgrEntityTypeSchema 命令返回散列映射,其中的关键字是实体类型,而值是另一个包含实体类型模式的散列映射。 此散列映射包含关键字 nsPrefixnsURIparentEntityName 及其相应的值。 以下示例显示了此命令的样本结果:

{PersonAccount={nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=loginAccount},
 test1:PersonAccount={nsPrefix=test1, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=loginAccount},
 Group={nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=Party},
 MyExtendedEntity={nsPrefix=wim , nsURI=hhtp://www.ibm.com/websphere/wim, parentEntityName=Person}}
注: 如果在不同的名称空间中定义了相同的实体类型,那么将针对输出结果中的每个名称空间列出该实体类型,并将名称空间前缀 (nsPrefix) 作为实体类型名称的前缀,例如 test1:PersonAccount

示例

批处理方式示例用法:

  • 使用 Jacl:
    $AdminTask getIdMgrEntityTypeSchema
  • 使用 Jython 字符串:
    AdminTask.getIdMgrEntityTypeSchema()
  • 使用 Jython 列表:
    AdminTask.getIdMgrEntityTypeSchema()

交互方式示例用法:

  • 使用 Jacl:
    $AdminTask getIdMgrEntityTypeSchema {-interactive}
  • 使用 Jython 字符串:
    AdminTask.getIdMgrEntityTypeSchema ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.getIdMgrEntityTypeSchema (['-interactive'])

getIdMgrPropertySchema

getIdMgrPropertySchema 命令返回所指定实体类型或所有实体类型的特性模式,包括扩展特性的特性模式。 该命令在连接和本地模式中都可用。

[z/OS]注: 如果对使用资源访问控制设施 (RACF) 的用户注册表以本地方式运行此命令,那么不会返回任何内容。

目标对象

无。

必需参数

无。

可选参数

-id
使用此参数来指定存储库的标识。 如果未指定此参数,那么将返回联合存储库的缺省特性模式。 (字符串,可选)
指定 "LA" 作为 -id 参数的值,以检索属性扩展存储库的属性模式。
-entityTypeName
使用此参数来指定必须检索其特性模式的实体类型的名称。 如果未指定此参数,那么将返回所有实体类型的特性模式。 如果实体类型不属于缺省名称空间,那么必须使用有效的名称空间前缀来引用该实体类型。 (字符串,可选)
-propertyNames
使用此参数来指定一个或多个特性名。 如果要指定多个特性名,请将分号 (;) 用作定界符。 如果未指定此参数,那么将返回所有特性。 如果特性名不属于缺省名称空间,那么必须使用有效的名称空间前缀来引用这些特性名。 (字符串,可选)
-securityDomainName
使用此参数来指定用于唯一标识安全域的名称。 如果您没有指定此参数,该命令使用全局联合存储库。 (字符串,可选)

返回值

getIdMgrPropertySchema 命令返回包含以下结构的散列映射:
Map{entityType=Map{propName=Map{metadata}}}

getIdMgrPropertySchema 命令返回散列映射,其中的关键字是实体类型,而值是另一个包含特性模式的散列映射。 此散列映射包含特性名作为关键字,而其值是另一个散列映射,包含特性的每个属性及其值。 以下示例显示了此命令的样本结果:

{PersonAccount={prop1={isMultiValued=false, dataType=String, nsPrefix=wim,
 nsURI=hhtp://www.ibm.com/websphere/wim, isRequired=true}, test1:prop1={isMultiValued=false,
 dataType=Integer, nsPrefix=test1, nsURI=hhtp://www.ibm.com/websphere/test1, isRequired=true},
 prop2={isMultiValued=false, dataType=Integer, nsPrefix=wim, nsURI=hhtp://www.ibm.com/websphere/wim,
 isRequired=true }}, Group={prop3={isMultiValued=false, dataType=String, nsPrefix=wim,
 nsURI=hhtp://www.ibm.com/websphere/wim, isRequired=false}}}
注: 如果在实体类型的不同名称空间中定义了同一属性,那么会在输出结果中针对这些名称空间中的每个名称空间列出该属性,并将名称空间前缀 (nsPrefix) 作为属性名称的前缀,例如, test1:prop1。 如果在 requiredEntityTypeNames 列表中列出了实体类型,那么对于该实体类型的特性,返回的 isRequired 属性值为 true。

示例

批处理方式示例用法:

  • 使用 Jacl:
    $AdminTask getIdMgrPropertySchema
  • 使用 Jython 字符串:
    AdminTask.getIdMgrPropertySchema()
  • 使用 Jython 列表:
    AdminTask.getIdMgrPropertySchema()

交互方式示例用法:

  • 使用 Jacl:
    $AdminTask getIdMgrPropertySchema {-interactive}
  • 使用 Jython 字符串:
    AdminTask.getIdMgrPropertySchema ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.getIdMgrPropertySchema (['-interactive'])

listIdMgrPropertyExtensions

使用 listIdMgrPropertyExtensions 命令来列出实体类型的扩展属性。

目标对象

无。

必需参数

无。

可选参数

-securityDomainName
使用此参数来指定用于唯一标识安全域的名称。 如果您没有指定此参数,该命令使用全局联合存储库。 (字符串,可选)
-applicationId
使用此参数来指示列出其扩展属性的应用程序的标识。

如果未指定此参数,那么将列出所有扩展属性。

(字符串,可选)

返回值

此参数返回包含属性名作为关键字的散列映射。 每个键的值是另一个散列映射,其中包含与 addIdMgrPropertyToEntityTypes 命令的输入参数相同的键。 对于多值参数,关键字的值为 List 对象。

示例

批处理方式示例用法:

  • 使用 Jacl:
    $AdminTask listIdMgrPropertyExtensions
  • 使用 Jython 字符串:
    AdminTask.listIdMgrPropertyExtensions()
  • 使用 Jython 列表:
    AdminTask.listIdMgrPropertyExtensions()

交互方式示例用法:

  • 使用 Jacl:
    $AdminTask listIdMgrPropertyExtensions {-interactive}
  • 使用 Jython 字符串:
    AdminTask.listIdMgrPropertyExtensions ('[-interactive]')
  • 使用 Jython 列表:
    AdminTask.listIdMgrPropertyExtensions (['-interactive'])
受支持的配置: 此命令仅列出 wimxmlextension.xml 文件中存在的扩展属性。