配置端点合并
端点配置合并使用 EM 代理将保存在某个端点上的多个 AEMP 配置文件合并到一个配置中。每个配置中的节点、可重复使用的条件和消息库都将添加到合并配置中。
完成合并的过程如下:将各个配置添加到端点上的目录中,然后在清单文件中指定要合并的配置。EM 代理会监控合并目录,并在清单文件添加到目录中时自动合并各个配置。
通过端点配置合并,不同的业务部门可以在配置的特定区域中独立工作,然后各个区域可以进行添加,形成单一配置。如需对大规模配置做出略微更改,则可创建已更改区域的代码段。然后,可将该代码段合并在端点上,从而避免执行大规模配置。
在此部分:
合并中的组件
配置合并依赖于以下组件。
基础配置
每次合并均须具备基础配置 - 这是合并中的第一个配置,其他配置会添加到此配置中。合并的配置会从基础配置中获取全局特性,例如自定义设置、审核选项及任何个性化设置。
因此,在基础配置中定义未合并的设置至关重要。
默认情况下,基础配置只可设置为在端点上保存实时配置时所创建的 AEMP 文件:
%ProgramData%\AppSense\Environment Manager\Configuration.aemp
只有在 10.0 版或更高版本的 Environment Manager 中,才能合并基础配置和所有组件配置。在合并之前,应对任何旧版本配置进行升级。
组件配置
合并的配置由基础配置和一个或多个组件配置组成。组件配置是指在合并过程中添加到基础配置中的 AEMP 文件。若要加入合并,组件配置必须存储在 MergeConfigs 目录中。
来自组件的节点、预触发器、运行身份和用户消息均包含在合并中。其他设置(如审核选项)只能从基础配置中获取。只有在 10.0 版或更高版本的 Environment Manager 中,才能合并基础配置和所有组件配置。在合并之前,应对任何旧版本配置进行升级。
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 目录内才能包含在合并中。 |
(可选) |
可以设置为 "true" 或 "false",并指示是要在合并中包含还是排除默认的 Configuration.aemp。这是位于 %ProgramData%\AppSense\Environment Manager 中的实时 Configuration.aemp 文件。如果设置为 true,则在部署清单时,基础配置必须已存在于端点上,否则合并便会失败。如果设置为 false,则 MergeFiles 列表中的第一个配置将用作基础配置,除非 BaseConfig 特性另有定义。 |
(可选) |
确定相应行为,前提是 MergeConfigs 目录中检测到清单 .xml,但并非所有指定配置均已存在。可设置为:
|
(可选) |
AEMP 文件唯一的 MD5 校验和。如果包含清单,则 MergeConfigs 文件夹中的 AEMP 文件必须具有相同的校验和才能包含在合并中。校验和不会引用基础配置。 |
ManifestGen 工具
ManifestGen 是一种命令行工具,可创建 XML 清单文件,用于定义和触发配置合并。该 XML 文件包含要合并的 AEMP 文件的详细信息,可以指示是将默认 configuration.aemp 还是组件配置用作合并中的基础配置。
如果输出目录中已存在 merge_manifest.xml,则该工具将失败并且不会创建新清单 - 当前清单不会被覆盖。
为了更容易使用该工具,请在高级系统属性 > 环境变量 > 路径中向 Path 环境变量添加以下位置:
%PROGRAMFILES%\AppSense\Environment Manager\Console
创建清单
- 保存要合并在 MergeConfigs 目录中的配置:
- %ProgramData%\AppSense\Environment Manager\MergeConfigs
- 打开命令行界面。
- 输入
cd %programdata%\appsense\environment manager
更改目录。 - 输入
manifestgen mergeconfigs\*.aemp
。
如果您在 MergeConfigs 文件夹中运行 manifestgen,则代理便会在清单创建后立即选中它,并立即开始合并。
如果成功,系统将在 %ProgramData%\AppSense\Environment Manager 中创建 merge_manifest.xml 文件
现在,清单便可用于触发合并及创建配置。
附加命令
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.aamp 文件便会作为基础配置包含在合并中,并且组件配置合并到基础配置中的顺序也会逆转。请注意,设置为基础配置的配置包括全局配置设置,例如您希望包含在合并中的自定义设置。因此,在选择不同的配置作为基础配置时应格外小心。
如果在同一清单中为配置设置 BaseConfig="true"
且 UseSystemBase="true"
,则会导致冲突,并且合并将失败。
BatchConfig 工具
只有最新版本的 AEMP 文件才能包含在合并中。BatchConfig 工具可将旧的 AEMP 文件和 XML 代码段转换为正确版本的 AEMP 文件。
可以同时转换多个文件,每个输入生成一个输出文件。
如果源中的一个或多个配置已存在于输出目录中,则该工具将会操作失败,并且不会转换任何配置。
为了更容易使用该工具,请在高级系统属性 > 环境变量 > 路径中向 Path 环境变量添加以下位置:
%PROGRAMFILES%\AppSense\Environment Manager\Console
批量转换配置文件
- 保存或复制要转换为单个文件夹的 AEMP 和 XML 文件。
- 打开命令行界面。
-
输入
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 日志 > 应用程序)中查看事件时,您可以获得更多详细信息,例如导致合并失败的原因。