Добавление раздела реестра в Windows через Salt-Stack

#windows #registry #salt-stack

#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
  

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

 HKEY_LOCAL_MACHINESOFTWAREWow6432NodeMicrosoftWindows NTCurrentVersionWinlogon
  

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

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

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

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

Ответ №1:

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

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

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

 /reg:64
  

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