組態端點合併

「端點組態合併」會使用 EM 代理程式將儲存在同一個端點上的多個 AEMP 組態檔案合併為單一組態。每個組態的節點、可重複使用條件和訊息程式庫都會新增至合併組態。

您可以將個別組態新增至端點上的目錄,並在資訊清單檔案中指定要合併的組態以完成合併。EM 代理程式會監控合併目錄,並在資訊清單檔案新增至目錄時自動合併組態。

「端點組態合併」可讓不同區域的業務在特殊的組態區中各自運作,接著可進行新增以建立單一組態。如需在大型組態中進行小幅度的變更,則可建立已變更的區域片段。然後可以在端點上合併片段,因此不需要推送大型組態。

在這個部分中:

合併內的元件

組態合併需要下列元件。

基本組態

每個合併都必須有基本組態 - 這是合併中的第一個組態,同時也是用來新增其他組態的位置。合併的組態會擷取全域屬性,例如自訂設定、稽核選項,以及基本組態中的任何個人化設定。

因此必須先在基本組態中定義未合併的設定。

依預設,基本組態會設為 AEMP 檔案,也就是將即時組態儲存至端點時建立的檔案:

%ProgramData%\AppSense\Environment Manager\Configuration.aemp

合併內的基本組態及所有元件組態必須為 Environment Manager 10.0 或更新版本。在合併之前升級所有較舊組態。

元件組態

合併的組態是由基本組態和一個或多個元件組態所組成。元件組態就是在合併期間新增至基本組態中的 AEMP 檔案。作為合併的一部分,元件組態必須儲存在 MergeConfigs 目錄中。

各個元件的節點、預先觸發程序、執行身分和使用者訊息也會包含在合併中。例如稽核選項等其他設定則只會來自基本組態。合併內的基本組態及所有元件組態必須為 Environment Manager 10.0 或更新版本。在合併之前升級所有較舊組態。

MergeConfigs 目錄

此目錄是儲存要合併之元件組態的位置,也是在偵測有效資訊清單時觸發合併的目錄。

當您在端點上啟動 EMCoreService 時會建立 MergeConfigs 目錄:

%ProgramData%\AppSense\Environment Manager\MergeConfigs

此為受保護的目錄,因此只有管理員可寫入該目錄。這可確保一般使用者不會影響合併組態。

資訊清單

資訊清單是一種 XML 檔案,其中包含要合併之組態的詳細資訊,以及指示要將哪個組態設為基本組態。在代理程式偵測到 MergeConfigs 目錄內的資訊清單時,便會啟動合併。

資訊清單是使用 ManifestGen 指令列工具所建立。

以下是 merge_manifest.xml 檔案範例。

<MergeManifest UseSystemBase="true" WaitForConfigs="true">

<MergeFiles>

<FileEntry Name="config2.aemp" Checksum="563621a479c06d6d357b327283320288"/>

<FileEntry Name="config4.aemp" Checksum="4bc481043e6991253de15ec6993ee43f"/>

</MergeFiles>

</MergeManifest>

資訊清單屬性和標籤

屬性/標記 說明
MergeManifest 組態的根節點。
MergeFiles 要包含在合併中的 AEMP 檔案清單的容器標記。
FileEntry Name 識別要包含在合併內的組態。檔案必須位於 MergeConfigs 目錄才能包含在合併中。

UseSystemBase

(選用)

可設為 "true" 或 "false",並指示是否要在合併中包含或排除預設 Configuration.aemp。這項即時 Configuration.aemp 檔案可在 %ProgramData%\AppSense\Environment Manager 內找到。如果設為 "true",則當部署資訊清單時端點上必須存在基本組態,否則合併將會失敗。如果設為 "false",MergeFiles 清單中的第一個組態會作為基本組態使用,除非已由 BaseConfig 屬性另行定義。

WaitForConfigs

(選用)

判斷在 MergeConfigs 目錄中偵測到資訊清單 .xml,且並非所有具名組態皆存在時的行為。可設定為:
  • True - 此合併會無限期暫止,直到資訊清單中參照的所有組態皆存在,然後完成合併。
  • False - 如果在 MergeConfigs 目錄中偵測到資訊清單,且其參照的組態不存在時,合併將會失敗。
如果您使用如 MSI 等安裝程式將組態和資訊清單推送至端點,建議您可以將此設為 "true",因為您不能保證新增組態和資訊清單的順序為何。使用 SystemBase Configuration.aemp 檔案時,此方法並不適用。如果已觸發資訊清單合併且 Configuration.aemp 不存在,合併將會失敗 - 不會等待基本組態。

總和檢查碼

(選用)

MD5 總和檢查碼對於 AEMP 檔案來說是獨一無二的。當包含在資訊清單中時,MergeConfigs 資料夾中的 AEMP 檔案必須有相同的總和檢查碼包含在合併中。總和檢查碼並未參考基本組態。

ManifestGen 工具

ManifestGen 是一個指令列工具,可建立用來定義及觸發組態合併的 XML 資訊清單檔案。XML 檔案包含要合併之 AEMP 檔案的詳細資訊,並指示要使用預設 Configuration.aemp 或元件組態作為合併中的基底。

如果 merge_manifest.xml 已存在於輸出目錄,工具會失敗且不會建立新的資訊清單 - 不會覆寫目前的資訊清單。

若要讓工具的使用更為容易,可將位置新增至路徑環境變數,其位於進階系統系統屬性 > 環境變數 > 路徑:
%PROGRAMFILES%\AppSense\Environment Manager\Console

建立資訊清單

  1. 儲存要在 MergeConfigs 目錄中合併的組態:
  2. %ProgramData%\AppSense\Environment Manager\MergeConfigs
  3. 開啟指令列介面。
  4. 輸入 cd %programdata%\appsense\environment manager 以變更目錄。
  5. 輸入 manifestgen mergeconfigs\*.aemp

如果您在 MergeConfigs 資料夾中執行 ManifestGen,代理程式將會提取建立完成的資訊清單並立即啟動合併。

若成功,merge_manifest.xml 檔案便會在下列位置建立: %ProgramData%\AppSense\Environment Manager

資訊清單現在可用來觸發合併並建立組態。

其他指令

可在 ManifestGen 工具中使用引數以變更資訊清單及影響合併。您可以指定不同的基本組態、輸出檔案,以及為組態建立不含總和檢查碼值的資訊清單。

尾碼 說明與用途
-o 輸出資料夾 - 指定 manifest.xml 檔案的建立位置,例如: manifestgen mergeconfigs\*.aemp -o c:\configs,即在 C 磁碟機上的 Configs 資料夾中建立資訊清單。
-b 基本組態 - 識別基本組態並排除預設基本組態。例如,manifestgen mergeconfigs\*.aemp -b config1.aemp 會建立一個資訊清單,其將會建立一個合併組態且 Config1.aemp 會設為基本組態。
-nc 無總和檢查碼項目 - 依預設,列於資訊清單中的每個組態都會有一個 MD5 總和檢查碼,允許組態的唯一識別。若資訊清單與組態兩者的總和檢查碼不符,合併將會失敗,或是會等待具有正確總和檢查碼的組態。使用 -nc 尾碼以及 ManifestGen 工具將不會在資訊清單中列出總和檢查碼,意即若組態檔案名稱正確,則無論總和檢查碼值為何,合併都會成功。例如: manifestgen mergeconfigs\*.aemp -nc
-nw 資訊清單新增至 MergeConfigs 目錄時的預設行為就是會無限期等候,直到資訊清單中的所有組態皆存在,然後執行合併。使用 -nw 尾碼,當資訊清單新增至 MergeConfigs 目錄時列出的組態不存在,合併將會失敗。例如: manifestgen mergeconfigs\*.aemp -nw,當資訊清單新增至 MergeConfigs 目錄時,若資訊清單列出五個組態但只存在四個,合併將會失敗。如果您使用如 MSI 等安裝程式將組態和資訊清單推送至端點,建議您不要使用尾碼,因為您不能保證新增組態和資訊清單時的順序為何。

編輯資訊清單

雖然您可以使用文字編輯器編輯資訊清單,但還是建議您使用 ManifestGen 工具,因為它能確保 merge_manifest.xml 檔案的格式正確無誤。例如,如果檔案名稱中有 "&" 符號,ManifestGen 工具會將其逸出以確認其為有效的 XML 檔案。

可編輯已建立的資訊清單檔案以變更屬性,例如基本組態以及合併的執行順序。

例如,命令:

manifestgen mergeconfigs\*.aemp -b mergeconfigs\config3.aemp -nc

建立一個不包含預設基本組態的資訊清單,且 config3.aemp 會設為基本組態。WaitForConfigs 屬性會設為預設值 "true",而且不會包含總和檢查碼。

<MergeManifest UseSystemBase="false" WaitForConfigs="true">

<MergeFiles>

<FileEntry Name="config3.aemp" BaseConfig="true"/>

<FileEntry Name="config1.aemp"/>

</MergeFiles>

</MergeManifest>

若要編輯資訊清單,請在文字編輯器中開啟資訊清單,然後在進行必要的變更後儲存檔案。

在此範例中,UseSystemBase 會設為 "true",且 BaseConfig 指令會從 Config3.aemp 中移除。合併的順序亦已變更。

<MergeManifest UseSystemBase="true" WaitForConfigs="true">

<MergeFiles>

<FileEntry Name="config1.aemp"/>

<FileEntry Name="config3.aemp"/>

</MergeFiles>

</MergeManifest>

當合併時,預設基本 Configuration.aemp 檔案會包含在合併中作為基本組態,並反轉元件組態合併至基本組態時的順序。請注意,組態已設為基底,其中包括您要包含在合併中的自訂設定等全域組態設定。因此,在選取不同組態作為基底時應更加謹慎。

為組態設定 BaseConfig="true" 及相同資訊清單中的 UseSystemBase="true" 將會導致衝突,且合併將會失敗。

BatchConfig 工具

只有最新版本的 AEMP 檔案可包含在合併中。BatchConfig 工具可將舊版 AEMP 檔案和 XML 片段轉換為正確版本的 AEMP 檔案。

可同時轉換多個檔案,每次輸入會產生一個輸出檔案。

若在輸入目錄中已存在一個或多個來源組態,則工具運行失敗且不會轉換任何組態。

若要讓工具的使用更為容易,可將位置新增至路徑環境變數,其位於進階系統系統屬性 > 環境變數 > 路徑:
%PROGRAMFILES%\AppSense\Environment Manager\Console

批次轉換組態檔案

  1. 將您想要轉換的 AEMP 和 XML 檔案儲存或複製到單一資料夾。
  2. 開啟指令列介面。
  3. 依下列格式輸入 BatchConfigTool 加上來源及目的地資料夾的詳細資訊:

    BatchConfigTool <source directory\file type> -o <output directory>

批次轉換範例

BatchConfigTool C:\Configs\Source\*.xml -o C:\Configs\Output

本範例會將來源目錄中找到的 XML 片段轉換為儲存於輸出目錄的現用版本 AEMP 檔案。可使用相同格式將舊的 AEMP 檔案更新為現用版本:

BatchConfigTool C:\Configs\Source\*.aemp -o C:\Configs\Output

您也可以同時轉換這兩種檔案類型:

BatchConfigTool C:\Configs\Source\*.aemp C:\Configs\Source\*.xml -o C:\Configs\Output

在下列範例中,來源目錄包含一個 8.3 AEMP 檔案及兩個 XML 片段。經轉換後,輸出目錄會包含三個現用版本的 AEMP 檔案。

ð

BatchConfig 工具會與 Environment Manager 控制台一同安裝。不過,其亦可使用隨附於 User Workspace Manager 媒體中的 EnvironmentManagerPolicyTools 32 及 64 位元安裝程式進行個別安裝。

稽核事件 - 組態端點合併

「組態端點合併」的新稽核事件已新增至 Environment Manager。在 Windows 事件檢視器中檢視時 (選取 Windows 記錄檔 > 應用程式),事件會提供其他詳細資訊,例如造成合併失敗的原因。

相關主題