Добавление ключа реестра в windows через Salt-Stack

Моя проблема заключается в использовании Salt-Stack для добавления раздела реестра в Windows. Я использую файл .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

Когда миньон вызывает мастер соли и применяет ключи реестра, все работает нормально, за исключением того, что ключи применяются не по правильному пути. К ним добавляются следующие:

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Winlogon

По сути, я знаю, что это 64-битная машина и что этот путь представляет собой 64-битный эквивалент пути, которым я пытаюсь манипулировать. Но когда я перезагружаю машину, Windows не использует 64-битную версию пути, а вместо этого использует исходный путь.

Мой вопрос: как мне заставить Salt-Stack установить ключи по фактическому пути, который я указал, вместо Wow6432Node?

Что-то не так с моей деклерацией в файле sls? Я думал, что «reflection:True» позаботится о зеркальном отображении информации в обоих путях.

Спасибо за любую информацию о том, почему это не работает.


person IronWilliamCash    schedule 17.06.2014    source источник


Ответы (1)


Я нашел ответ на эту проблему. На самом деле в SaltStack есть ошибка, она не учитывает 32-битный/64-битный аспект реестра Windows и просто вызывает обычный regedit. На самом деле Windows вызовет перенаправитель реестра, чтобы решить, следует ли добавить ключ к узлу wow6432 или к обычному узлу.

На самом деле я опубликовал ошибку на github SaltStack. См. здесь: https://github.com/saltstack/salt/issues/13513#issuecomment-46373007

При этом я нашел обходной путь для этой проблемы. Если вы используете SaltStack для фактического вызова редактора реестра через командную строку или пакетный файл. Вы можете указать файл .reg, который вы хотите импортировать, а затем вы можете указать следующий параметр, чтобы принудительно использовать 32-битный путь реестра:

/reg:64

Я надеюсь, что это ответит на любые вопросы по этому вопросу

person IronWilliamCash    schedule 08.08.2014