Үндсэн агуулга руу алгасах

Cookie

Сайтаа сайжруулж, танд тохирох хямдрал, санал харуулахад тусална. Дэлгэрэнгүй

BD Systems AsiaАлбан ёсны түншBitdefender Country Partner (шинэ цонхонд)

Аюулгүй байдлын агентыг суулгах: тохиолдол бүрийн заавар — 6-р хэсэг: Ansible-аар Windows-д BEST суулгах

Bitdefender-ийн албан ёсны баримтаас орчуулавАнгли эх (EN) · Орчуулсан: 2026.11.12

Энэ хуудсыг AI-аар орчуулж, автоматаар шалгасан. Нарийн тохиргоо хийхээсээ өмнө англи эхтэй тулгаж болно.

← Үндсэн хуудас

Ansible-аар Windows-д зориулсан BEST суулгах

Энэ хэсэгт шаардлагатай тохиргооны файлуудыг хэрхэн үүсгэж, Ansible playbook ашиглан BEST for Windows-ийг хэрхэн суулгах үндсэн зааврыг өгнө.

Чухал

Ansible-ийг суулгахын тулд Ansible-ийн албан ёсны баримт бичгийг үзнэ үү.

Прокси ашиглахгүйгээр Ansible-аар Windows-д BEST суулгах

Суулгах багцад прокси тохируулаагүй тохиолдолд Ansible-аар BEST for Windows-ийг суулгахдаа дараах алхмуудыг дагана.

  1. GravityZone дээр BEST-ийн суулгах багц үүсгээд татаж авна.
  2. Inventory-гоо хөтлөх тохиргооны файл үүсгэнэ:

    inventory.yml

    windows:
      hosts:
        BEST-deployment:
          ansible_host: 10.26.73.7
    
      vars:
        ansible_connection: ssh
        ansible_port: 22
        ansible_shell_type: powershell

    Тэмдэглэл

    Ansible-ийн тохиргооны файл хэрхэн үүсгэх талаар дэлгэрэнгүйг Inventory-гоо хэрхэн бүтээх вэ хэсгээс үзнэ үү.

  3. BEST for Windows-ийг суулгах процессыг зохион байгуулах тохиргооны файл үүсгэнэ:

    deploy-best.yml

    ---
    - name: Deploy BEST on Windows
      hosts: windows
      gather_facts: false
    
      vars:
        WORKDIR: 'C:\Temp\BEST-Deploy'
    
        # Replace with your actual GravityZone URL and original filename.
        INSTALLER_URL: 'https://cloudgz.gravityzone.bitdefender.com/Packages/BSTWIN/0/setupdownloader_[installer_string].exe'
        INSTALLER_NAME: 'setupdownloader_[installer_string].exe'
    
        BEST_SERVICE: 'EPSecurityService'
    
      tasks:
        - name: Check whether BEST is already installed
          ansible.windows.win_service_info:
            name: "{{ BEST_SERVICE }}"
          register: best_before
    
        - name: Report that the endpoint will be skipped
          ansible.builtin.debug:
            msg: >-
              BEST already exists on {{ inventory_hostname }}.
              Skipping all remaining tasks for this endpoint.
          when: best_before.exists
    
        - name: Stop processing this endpoint when BEST already exists
          ansible.builtin.meta: end_host
          when: best_before.exists
    
        - name: Create the working directory
          ansible.windows.win_file:
            path: "{{ WORKDIR }}"
            state: directory
    
        - name: Download the Bitdefender installer
          ansible.windows.win_get_url:
            url: "{{ INSTALLER_URL }}"
            dest: '{{ WORKDIR }}\{{ INSTALLER_NAME }}'
            validate_certs: true
    
        - name: Launch the Bitdefender installer silently
          ansible.windows.win_command:
            argv:
              - '{{ WORKDIR }}\{{ INSTALLER_NAME }}'
              - /bdparams
              - /silent
            chdir: "{{ WORKDIR }}"
          register: best_install
          async: 1800
          poll: 15
          failed_when: false
    
        - name: Stop deployment when no exit code is available
          ansible.builtin.fail:
            msg: >-
              BEST installation did not return an exit code.
              Check for timeout or execution failure.
          when: best_install.rc is not defined
    
        - name: Stop deployment when installation fails
          ansible.builtin.fail:
            msg: "BEST installation failed. Exit code: {{ best_install.rc }}"
          when:
            - best_install.rc is defined
            - best_install.rc | int != 0
    
        - name: Show installation exit code
          ansible.builtin.debug:
            msg: "BEST installation exit code: {{ best_install.rc }}"
    
        - name: Wait for the BEST service to be running
          ansible.windows.win_service_info:
            name: "{{ BEST_SERVICE }}"
          register: best_after
          until: >-
            best_after.exists and
            (best_after.services | length > 0) and
            (best_after.services[0].state == 'started')
          retries: 60
          delay: 10
    
        - name: Show BEST service status
          ansible.builtin.debug:
            msg: >-
              {{ inventory_hostname }}:
              {{ best_after.services[0].display_name }}
              is {{ best_after.services[0].state }}.
    
        - name: Remove the deployment working directory
          ansible.windows.win_file:
            path: "{{ WORKDIR }}"
            state: absent
  4. Дараах командыг ажиллуулна:
    ansible-playbook -i inventory.yml deploy-best.yml -u admin --ask-pass

    Тэмдэглэл

    admin нь BEST суулгах төхөөрөмж дээрх администратор эрхтэй хэрэглэгчийн бүртгэл юм.

    Гаралт доорх жишээтэй төстэй байх ёстой:

    PLAY [Deploy BEST on Windows] ***************************************************************************************************************************************************************************************************************
    
    TASK [Check whether BEST is already installed] **********************************************************************************************************************************************************************************************
    ok: [BEST-deployment]
    
    TASK [Report that the endpoint will be skipped] *********************************************************************************************************************************************************************************************
    skipping: [BEST-deployment]
    
    TASK [Stop processing this endpoint when BEST already exists] *******************************************************************************************************************************************************************************
    skipping: [BEST-deployment]
    
    TASK [Create the working directory] *********************************************************************************************************************************************************************************************************
    ok: [BEST-deployment]
    
    TASK [Download the Bitdefender installer] ***************************************************************************************************************************************************************************************************
    changed: [BEST-deployment]
    
    TASK [Launch the Bitdefender installer silently] ********************************************************************************************************************************************************************************************
    ASYNC POLL on BEST-deployment: jid=j810726189276.3820 started=True finished=False
    ASYNC POLL on BEST-deployment: jid=j810726189276.3820 started=True finished=False
    ASYNC POLL on BEST-deployment: jid=j810726189276.3820 started=True finished=False
    
    ASYNC OK on BEST-deployment: jid=j810726189276.3820
    changed: [BEST-deployment]
    
    TASK [Stop deployment when no exit code is available] ***************************************************************************************************************************************************************************************
    skipping: [BEST-deployment]
    
    TASK [Stop deployment when installation fails] **********************************************************************************************************************************************************************************************
    skipping: [BEST-deployment]
    
    TASK [Show installation exit code] **********************************************************************************************************************************************************************************************************
    ok: [BEST-deployment] => {
    "msg": "BEST installation exit code: 0"
    }
    
    TASK [Wait for the BEST service to be running] **********************************************************************************************************************************************************************************************
    ok: [BEST-deployment]
    
    TASK [Show BEST service status] *************************************************************************************************************************************************************************************************************
    ok: [BEST-deployment] => {
    "msg": "BEST-deployment: Bitdefender Endpoint Security Service is started."
    }
    
    TASK [Remove the deployment working directory] **********************************************************************************************************************************************************************************************
    changed: [BEST-deployment]
    
    PLAY RECAP **********************************************************************************************************************************************************************************************************************************
    BEST-deployment            : ok=8    changed=3    unreachable=0    failed=0    skipped=3    rescued=0    ignored=0

Прокси ашиглан Ansible-аар Windows-д BEST суулгах

Суулгах багцад прокси тохируулсан тохиолдолд Ansible-аар BEST for Windows-ийг суулгахдаа дараах алхмуудыг дагана.

  1. GravityZone дээр BEST-ийн суулгах багц үүсгээд татаж авна.
  2. Inventory-гоо хөтлөх тохиргооны файл үүсгэнэ:

    inventory.yml

    windows:
      hosts:
        BEST-deployment:
          ansible_host: 10.26.73.7
    
      vars:
        ansible_connection: ssh
        ansible_port: 22
        ansible_shell_type: powershell

    Тэмдэглэл

    Ansible-ийн тохиргооны файл хэрхэн үүсгэх талаар дэлгэрэнгүйг Inventory-гоо хэрхэн бүтээх вэ хэсгээс үзнэ үү.

  3. BEST for Windows-ийг суулгах процессыг зохион байгуулах тохиргооны файл үүсгэнэ:

    deploy-best_proxy.yml

    ---
    - name: Deploy BEST on Windows from ZIP
      hosts: windows
      gather_facts: false
    
      vars:
        WORKDIR: 'C:\Temp\BEST-Deploy'
        INSTALLER_URL: 'https://console.it.gcp.gz.bitdefender.biz/Packages/BSTWIN/0/VEtJUg/setupdownloader.zip'
        BEST_SERVICE: 'EPSecurityService'
    
      tasks:
        - name: Check whether BEST is already installed
          ansible.windows.win_service_info:
            name: "{{ BEST_SERVICE }}"
          register: best_before
    
        - name: Report that the endpoint will be skipped
          ansible.builtin.debug:
            msg: >-
              BEST already exists on {{ inventory_hostname }}.
              Skipping all remaining tasks for this endpoint.
          when: best_before.exists
    
        - name: Stop processing this endpoint when BEST already exists
          ansible.builtin.meta: end_host
          when: best_before.exists
    
        - name: Create the working directory
          ansible.windows.win_file:
            path: "{{ WORKDIR }}"
            state: directory
    
        - name: Download the Bitdefender ZIP archive
          ansible.windows.win_get_url:
            url: "{{ INSTALLER_URL }}"
            dest: '{{ WORKDIR }}\setupdownloader.zip'
            validate_certs: true
    
        - name: Extract the ZIP archive
          ansible.windows.win_powershell:
            script: |
              param(
                  [string]$ArchivePath,
                  [string]$DestinationPath
              )
    
              Expand-Archive -LiteralPath $ArchivePath `
                  -DestinationPath $DestinationPath `
                  -Force -ErrorAction Stop
            parameters:
              ArchivePath: '{{ WORKDIR }}\setupdownloader.zip'
              DestinationPath: '{{ WORKDIR }}\Extracted'
    
        - name: Check that setupdownloader.exe exists
          ansible.windows.win_stat:
            path: '{{ WORKDIR }}\Extracted\setupdownloader.exe'
          register: installer_file
    
        - name: Stop deployment if setupdownloader.exe is missing
          ansible.builtin.fail:
            msg: "setupdownloader.exe was not found at the root of the extracted archive."
          when: not (installer_file.stat.isreg | default(false))
    
        - name: Launch setupdownloader.exe silently
          ansible.windows.win_command:
            argv:
              - '{{ WORKDIR }}\Extracted\setupdownloader.exe'
              - /bdparams
              - /silent
            chdir: '{{ WORKDIR }}\Extracted'
          register: best_install
          async: 1800
          poll: 15
          failed_when: false
    
        - name: Stop deployment when no exit code is available
          ansible.builtin.fail:
            msg: >-
              BEST installation did not return an exit code.
              Check for timeout or execution failure.
          when: best_install.rc is not defined
    
        - name: Stop deployment when installation fails
          ansible.builtin.fail:
            msg: "BEST installation failed. Exit code: {{ best_install.rc }}"
          when:
            - best_install.rc is defined
            - best_install.rc | int != 0
    
        - name: Show installation exit code
          ansible.builtin.debug:
            msg: "BEST installation exit code: {{ best_install.rc }}"
    
        - name: Wait for the BEST service to be running
          ansible.windows.win_service_info:
            name: "{{ BEST_SERVICE }}"
          register: best_after
          until: >-
            best_after.exists and
            (best_after.services | length > 0) and
            (best_after.services[0].state == 'started')
          retries: 60
          delay: 10
    
        - name: Show BEST service status
          ansible.builtin.debug:
            msg: >-
              {{ inventory_hostname }}:
              {{ best_after.services[0].display_name }}
              is {{ best_after.services[0].state }}.
    
        - name: Remove the deployment working directory
          ansible.windows.win_file:
            path: "{{ WORKDIR }}"
            state: absent
  4. Дараах командыг ажиллуулна:
    ansible-playbook -i inventory.yml deploy-best.yml -u admin --ask-pass

    Тэмдэглэл

    admin нь BEST суулгах төхөөрөмж дээрх администратор эрхтэй хэрэглэгчийн бүртгэл юм.

Гаралт доорх жишээтэй төстэй байх ёстой:

PLAY [Deploy BEST on Windows from ZIP] ******************************************************************************************************************************************************************************************************

TASK [Check whether BEST is already installed] **********************************************************************************************************************************************************************************************
ok: [BEST-deployment]

TASK [Report that the endpoint will be skipped] *********************************************************************************************************************************************************************************************
skipping: [BEST-deployment]

TASK [Stop processing this endpoint when BEST already exists] *******************************************************************************************************************************************************************************
skipping: [BEST-deployment]

TASK [Create the working directory] *********************************************************************************************************************************************************************************************************
changed: [BEST-deployment]

TASK [Download the Bitdefender ZIP archive] *************************************************************************************************************************************************************************************************
changed: [BEST-deployment]

TASK [Extract the ZIP archive] **************************************************************************************************************************************************************************************************************
changed: [BEST-deployment]

TASK [Check that setupdownloader.exe exists] ************************************************************************************************************************************************************************************************
ok: [BEST-deployment]

TASK [Stop deployment if setupdownloader.exe is missing] ************************************************************************************************************************************************************************************
skipping: [BEST-deployment]

TASK [Launch setupdownloader.exe silently] **************************************************************************************************************************************************************************************************
ASYNC POLL on BEST-deployment: jid=j707749648575.10488 started=True finished=False
ASYNC POLL on BEST-deployment: jid=j707749648575.10488 started=True finished=False
ASYNC POLL on BEST-deployment: jid=j707749648575.10488 started=True finished=False

ASYNC OK on BEST-deployment: jid=j707749648575.10488
changed: [BEST-deployment]

TASK [Stop deployment when no exit code is available] ***************************************************************************************************************************************************************************************
skipping: [BEST-deployment]

TASK [Stop deployment when installation fails] **********************************************************************************************************************************************************************************************
skipping: [BEST-deployment]

TASK [Show installation exit code] **********************************************************************************************************************************************************************************************************
ok: [BEST-deployment] => {
"msg": "BEST installation exit code: 0"
}

TASK [Wait for the BEST service to be running] **********************************************************************************************************************************************************************************************
ok: [BEST-deployment]

TASK [Show BEST service status] *************************************************************************************************************************************************************************************************************
ok: [BEST-deployment] => {
"msg": "BEST-deployment: Bitdefender Endpoint Security Service is started."
}

TASK [Remove the deployment working directory] **********************************************************************************************************************************************************************************************
changed: [BEST-deployment]

PLAY RECAP **********************************************************************************************************************************************************************************************************************************
BEST-deployment            : ok=10   changed=5    unreachable=0    failed=0    skipped=4    rescued=0    ignored=0

Windows төхөөрөмжүүд дээр Ansible хэрхэн ашиглах талаар дэлгэрэнгүйг Ansible-ийн албан ёсны баримт бичгээс үзнэ үү.

Энэ хуудсанд гарсан нэр томъёо

Endpoint
Хамгаалж буй компьютер, сервер, виртуал машин
Reports
Тайлан; хугацаагаар илгээх боломжтой
Асуулт байна уу?AI туслах GravityZone-ийн монгол баримтаас хайна. Нарийн асуудлыг таны гэрээт борлуулагч, Bitdefender Mongolia-ийн инженер шийднэ.