通过Salt Stack在windows中添加注册表项

通过Salt Stack在windows中添加注册表项,windows,registry,salt-stack,Windows,Registry,Salt Stack,我的问题是在Windows中使用Salt Stack添加注册表项。我正在使用.sls文件定义以下内容: #AutoLogin on Windows Machines with a-testauto account 'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\AutoAdminLogon': reg.present: - value: '1' - vtype: R

我的问题是在Windows中使用Salt Stack添加注册表项。我正在使用.sls文件定义以下内容:

#AutoLogin on Windows Machines with a-testauto account
'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\AutoAdminLogon':
  reg.present:
    - value: '1'
    - vtype: REG_SZ
    - reflection: True
'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\DefaultUsername':
  reg.present:
    - value: user
    - vtype: REG_SZ
    - reflection: True
'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\DefaultPassword':
  reg.present:
    - value: password
    - vtype: REG_SZ
    - reflection: True
'HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows NT\\CurrentVersion\\Winlogon\\DefaultDomainName':
  reg.present:
    - value: VLAB
    - vtype: REG_SZ
    - reflection: True
当仆从调用salt master并应用注册表项时,一切正常,只是这些项没有应用到正确的路径中。它们被添加到以下内容中:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon
基本上我知道这是一台64位的机器,这条路径代表了我试图操纵的64位路径。但是,当我重新启动计算机时,Windows不使用64位版本的路径,而是使用原始路径

我的问题是如何让Salt Stack在我指定的实际路径中设置键,而不是在WOW6432节点中设置键

我在sls文件中的减读有什么问题吗?我认为“reflection:True”会在两条路径中镜像信息


谢谢你告诉我为什么这不起作用

我找到了这个问题的答案。事实上,SaltStack有一个bug,它不考虑Windows注册表的32位/64位方面,只需要调用正则ReGuEdE。Windows实际上会调用注册表重定向器来决定是否将该项添加到WOW6432节点或常规节点

实际上,我已经向SaltStack的github发布了一个bug。请看这里:

尽管如此,我还是找到了解决这个问题的方法。如果使用SaltStack通过命令行或批处理文件实际调用注册表编辑器。您可以指定要导入的.reg文件,然后指定以下参数将其强制导入注册表的32位路径:

/reg:64
我希望这能回答其他人关于这个问题的问题