From a05f61faf884677d408d2e748381b3683731878d Mon Sep 17 00:00:00 2001 From: ogrechko Date: Wed, 3 Dec 2025 13:09:30 +0000 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=D1=82?= =?UTF-8?q?=D1=8C=20install=5Fsoftware=5Fwin.yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- install_software_win.yml | 44 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 install_software_win.yml diff --git a/install_software_win.yml b/install_software_win.yml new file mode 100644 index 0000000..cf8ee1c --- /dev/null +++ b/install_software_win.yml @@ -0,0 +1,44 @@ +--- +- 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 }}:\\chrome_installer.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 }}:\\npp.8.6.exe" + state: present + arguments: /S + + # 4. Удаляем диск после работы + - name: Unmount Network Drive + ansible.windows.win_mapped_drive: + letter: "{{ drive_letter }}" + state: absent \ No newline at end of file