Задать вопрос
@il_da_r

Как в Ansible убрать кракозябры при выводе stdout?

Делаю плейбук для активации windows через локальный kms. Один из тасков - получение информации из командной строки о установленной лицензии:
- name: Information about license
   win_command: cscript {{ ansible_env.windir }}\System32\slmgr.vbs -dlv
   register: info_out

 - debug:
    var: info_out.stdout_lines

К сожалению выводит кракозябры:
5e5f649f4f5d7702515984.png
Как победить кто знает?
  • Вопрос задан
  • 385 просмотров
Подписаться 1 Средний 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov
Нашёл пару вариантов решения корректного вывода VBS
К сожалению, оба варианта с промежуточным выводом в файл

- name: Information about license for Windows
      win_shell: |
        # variant 1
        Start-Process -Wait -RedirectStandardOutput C:\111 -FilePath cscript -ArgumentList 'slmgr.vbs','-dlv'
        Get-Content C:\111 -Encoding OEM

        # variant 2
        [Console]::OutputEncoding = [System.Text.Encoding]::GetEncoding("cp866")
        cscript slmgr.vbs -dlv > c:\222
        Get-Content C:\222 -Encoding Unicode
      register: infowin_out
      args:
        chdir: '{{ ansible_env.windir }}\System32\'
        no_profile: yes

    - debug: var=infowin_out
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы