community.windows.win_regmerge 模块 – 将注册表文件的内容合并到 Windows 注册表中

注意

此模块是 community.windows 集合 (版本 2.3.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.windows

要在剧本中使用它,请指定:community.windows.win_regmerge

概要

参数

参数

注释

compare_to

字符串

比较注册表内容与文件内容时要使用的父项键。需要位于注册表的 HKLM 或 HKCU 部分。使用 PS-Drive 风格的路径,例如 HKLM:\SOFTWARE,而不是 HKEY_LOCAL_MACHINE\SOFTWARE。如果未提供或未找到注册表项,则不会进行比较,模块将报告已更改。

content

字符串

在 community.windows 2.2.0 中添加

当使用此参数代替 path 时,会将指定的值合并到 Windows 注册表中。它不能包含字节顺序标记。

path

path

要合并的远程计算机上注册表文件的完整路径(包括文件名)

备注

注意

  • 如果要使用 compare_to 功能,请整理您的注册表文件,使其包含单个根注册表项。

  • 此模块不会强制注册表设置处于文件中描述的状态。如果注册表设置已在外部修改,则模块将合并文件的内容,但在后续运行中继续报告差异。

  • 要强制更改注册表,请在使用 community.windows.win_regmerge 之前,使用 ansible.windows.win_regeditstate=absent

另请参阅

另请参阅

ansible.windows.win_reg_stat

获取有关 Windows 注册表项的信息。

ansible.windows.win_regedit

添加、更改或删除注册表项和值。

示例

- name: Merge in a registry file without comparing to current registry
  community.windows.win_regmerge:
    path: C:\autodeploy\myCompany-settings.reg

- name: Compare and merge registry file
  community.windows.win_regmerge:
    path: C:\autodeploy\myCompany-settings.reg
    compare_to: HKLM:\SOFTWARE\myCompany

- name: Merge in a registry file specified as content without comparing to current registry
  community.windows.win_regmerge:
    content: |
      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\myCompany]
      "ExampleKey"=dword:00000001

- name: Compare and merge registry file specified as content
  community.windows.win_regmerge:
    content: |
      Windows Registry Editor Version 5.00

      [HKEY_LOCAL_MACHINE\SOFTWARE\myCompany]
      "ExampleKey"=dword:00000001
    compare_to: HKLM:\SOFTWARE\myCompany

返回值

常见的返回值已在 此处 记录,以下是此模块独有的字段

描述

compare_to_key_found

布尔值

是否已找到用于比较的父注册表项

返回:当在注册表中找不到比较键时

示例: false

比较结果

布尔值

指示是否已在注册表和文件中进行了比较。

返回值: 当提供比较键并尝试进行比较时。

示例: true

差异计数

整数

注册表和文件之间的差异数量。

返回值: 已更改

示例: 1

作者

  • Jon Hawkesworth (@jhawkesworth)