AdminTask 物件的 IdMgrDataModel 指令群組

您可以利用 wsadmin 工具,利用 Jython 或 Jacl Scripting 語言來管理聯合儲存庫綱目。 使用 IdMgrDataModel 群組中的指令和參數來管理內容延伸儲存庫。 使用 -conntype NONE 選項,可以在已連接模式或本端模式下使用這些指令。

AdminTask 物件的 IdMgrDataModel 指令群組包含下列指令:

addIdMgrPropertyToEntityTypes

使用 addIdMgrPropertyToEntityTypes 指令,將新內容新增至具有指定參數的一或多個現有實體類型。

目標物件

無。

必要參數

-name
使用此參數來指定新增至一或多個現有實體類型的新內容名稱。

(字串,必要)

-dataType
使用此參數來指定內容的資料類型。 (字串,必要)
預設支援的資料類型為:
  • 字串
  • Int
  • 布林
  • 倍整數
  • Base64binary
  • AnySimpleType
  • anyURI
  • 位元組
  • DateTime
  • 日期
  • Token
  • IdentifierType
附註: 若要延伸「物件」類型的內容,您必須使用 AnySimpleType 資料類型。
-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。

(Boolean,選用)

-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
使用此參數來指出延伸內容所針對的應用程式 ID。

如果您指定 applicationId 參數的值,您可以使用 getIdMgrEntityTypeSchema 指令來擷取特定應用程式 ID 的延伸內容。

(字串,選用)

範例

批次模式下的用法範例:

  • 使用 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 指令會傳回實體類型綱目。 在連接模式和本端模式中都可以使用這個指令。

目標物件

無。

必要參數

無。

選用參數

-id
使用此參數來指定儲存庫的 ID。 如果您未指定此參數,則會傳回聯合儲存庫的預設實體類型綱目。 (字串,選用)
重要事項: 如果您指定 LA 作為儲存庫 ID ,則會發生錯誤,因為 LA 是內容延伸儲存庫的保留 ID。 使用 listIdMgrPropertyExtension 指令來擷取內容延伸儲存庫的綱目。 如需相關資訊,請參閱 listIdMgrPropertyExtensions 指令的說明。
-entityTypeNames
使用此參數來指定必須擷取實體類型綱目的一或多個實體類型名稱。 如果您指定多個實體類型名稱,請使用分號 (;) 作為定界字元。 如果未指定此參數,則會傳回所有實體類型的實體類型綱目。 如果實體類型不屬於預設名稱空間,您必須使用有效的名稱空間字首來參照實體類型。 (字串,選用)
-securityDomainName
使用此參數來指定唯一識別安全網域的名稱。 如果您沒有指定這個參數,指令會使用廣域聯合儲存庫。 (字串,選用)

回覆值

getIdMgrEntityTypeSchema 指令會傳回包含下列結構的 HashMap:
Map{entityType=Map{metadata}}

getIdMgrEntityTypeSchema 指令會傳回 HashMap ,其中索引鍵是實體類型,值是包含實體類型綱目的另一個 HashMap。 這個 HashMap 包含索引鍵 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 指令會傳回指定實體類型或所有實體類型的內容綱目,包括延伸內容的內容綱目。 在連接模式和本端模式中都可以使用這個指令。

目標物件

無。

必要參數

無。

選用參數

-id
使用此參數來指定儲存庫的 ID。 如果未指定此參數,則會傳回聯合儲存庫的預設內容綱目。 (字串,選用)
指定 'LA' 作為 -id 參數的值,以擷取內容延伸儲存庫的內容綱目。
-entityTypeName
使用此參數來指定必須擷取其內容綱目的實體類型名稱。 如果未指定此參數,則會傳回所有實體類型的內容綱目。 如果實體類型不屬於預設名稱空間,您必須使用有效的名稱空間字首來參照實體類型。 (字串,選用)
-propertyNames
使用此參數來指定一或多個內容名稱。 如果您指定多個內容名稱,請使用分號 (;) 作為定界字元。 如果您未指定此參數,則會傳回所有內容。 如果內容名稱不屬於預設名稱空間,則必須使用有效的名稱空間字首來參照內容名稱。 (字串,選用)
-securityDomainName
使用此參數來指定唯一識別安全網域的名稱。 如果您沒有指定這個參數,指令會使用廣域聯合儲存庫。 (字串,選用)

回覆值

getIdMgrPropertySchema 指令會傳回包含下列結構的 HashMap:
Map{entityType=Map{propName=Map{metadata}}}

getIdMgrPropertySchema 指令會傳回 HashMap ,其中索引鍵是實體類型,值是包含內容綱目的另一個 HashMap。 此 HashMap 包含作為索引鍵的內容名稱,且其值是另一個 HashMap ,其中包含內容及其值的每一個屬性。 下列範例顯示此指令的結果範例:

{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
使用此參數來指出為其列出延伸內容的應用程式 ID。

如果您未指定此參數,則會列出所有延伸內容。

(字串,選用)

回覆值

此參數會傳回包含內容名稱作為索引鍵的雜湊對映。 每一個索引鍵的值都是另一個雜湊對映,其包含與 addIdMgrPropertyToEntityTypes 指令的輸入參數相同的索引鍵。 對於多值參數,索引鍵的值是「清單」物件。

範例

批次模式下的用法範例:

  • 使用 Jacl:
    $AdminTask listIdMgrPropertyExtensions
  • 使用 Jython 字串:
    AdminTask.listIdMgrPropertyExtensions()
  • 使用 Jython 清單:
    AdminTask.listIdMgrPropertyExtensions()

互動模式下的用法範例:

  • 使用 Jacl:
    $AdminTask listIdMgrPropertyExtensions {-interactive}
  • 使用 Jython 字串:
    AdminTask.listIdMgrPropertyExtensions ('[-interactive]')
  • 使用 Jython 清單:
    AdminTask.listIdMgrPropertyExtensions (['-interactive'])
支援的配置: 這個指令只會列出 wimxmlextension.xml 檔中的延伸內容。