--- - name: Install Software from SMB hosts: windows gather_facts: no # Ускоряет запуск vars: # Данные для доступа к шаре (Лучше вынести в Secrets/Environment Semaphore) smb_user: "{{ lookup('env', 'SMB_USER') }}" smb_pass: "{{ lookup('env', 'SMB_PASS') }}" smb_path: "{{ lookup('env', 'SMB_PATH') }}" drive_letter: "Z" tasks: # 1. Монтируем диск (Решение проблемы Double Hop) - name: Mount Network Drive ansible.windows.win_mapped_drive: letter: "{{ drive_letter }}" path: "{{ smb_path }}" username: "{{ smb_user }}" password: "{{ smb_pass }}" state: present # 2. Установка MSI (Chrome, 7Zip и т.д.) # MSI хорош тем, что он сам умеет ставиться тихо, аргументы простые - name: Install Google Chrome (MSI) ansible.windows.win_package: path: "{{ drive_letter }}:\\Stirling-PDF.msi" state: present # product_id желателен для идемпотентности (чтобы не ставить 2 раза), # но для начала можно без него, Ansible попытается угадать. arguments: /quiet /norestart # 3. Установка EXE (Notepad++, Firefox и т.д.) # Для EXE нужно гуглить ключи тихой установки (обычно /S, /SILENT, /VERYSILENT) - name: Install Notepad++ (EXE) ansible.windows.win_package: path: "{{ drive_letter }}:\\notepad.exe" state: present arguments: /S # 4. Удаляем диск после работы - name: Unmount Network Drive ansible.windows.win_mapped_drive: letter: "{{ drive_letter }}" state: absent