ansible:windows
Összehasonlítás
A kiválasztott és az jelenlegi változat között az alábbi különbségek fordulnak elő:
| Előző változat mindkét oldalonElőző változatKövetkező változat | Előző változat | ||
| ansible:windows [2026/05/26 07:44] – riba.zoltan | ansible:windows [2026/05/29 10:00] (aktuális) – [Fájl műveletek] riba.zoltan | ||
|---|---|---|---|
| Sor 1: | Sor 1: | ||
| ====== Windows szerver kezelése Ansible programmal ====== | ====== Windows szerver kezelése Ansible programmal ====== | ||
| - | Adminisztrátorként futtatott PowerShell parancssorban adjuk ki az alábbi utasításokat a TerminalServer szolgáltatás | + | ===== Távoli elérés (opcionális) ===== |
| + | |||
| + | Adminisztrátorként futtatott PowerShell parancssorban adjuk ki az alábbi utasításokat a TerminalServer szolgáltatás | ||
| + | |||
| + | === Szolgáltatás engedélyezése === | ||
| < | < | ||
| Sor 15: | Sor 19: | ||
| PSDrive | PSDrive | ||
| PSProvider | PSProvider | ||
| - | |||
| </ | </ | ||
| + | |||
| + | === Tűzfal szabályok módosítása === | ||
| < | < | ||
| PS C: | PS C: | ||
| </ | </ | ||
| + | |||
| + | === Szolgáltatás ellenőrzése === | ||
| < | < | ||
| Sor 31: | Sor 38: | ||
| </ | </ | ||
| - | Adminisztrátorként futtatott PowerShell parancssorban adjuk ki az alábbi utasításokat a WinRM szolgáltatás | + | ===== WinRM szolgáltatás ===== |
| + | |||
| + | Adminisztrátorként futtatott PowerShell parancssorban adjuk ki az alábbi utasításokat a WinRM szolgáltatás | ||
| - | Szolgáltatás konfigurálása | + | === Szolgáltatás konfigurálása |
| < | < | ||
| Sor 39: | Sor 48: | ||
| </ | </ | ||
| - | Szolgáltatás engedélyezése és ellenőrzése | + | === Szolgáltatás engedélyezése és ellenőrzése |
| < | < | ||
| Sor 98: | Sor 107: | ||
| </ | </ | ||
| - | Engedélyezzük a megfelelő hitelesítési eljárást | + | === Hitelesítési eljárás beállítása === |
| < | < | ||
| PS C: | PS C: | ||
| + | |||
| Auth | Auth | ||
| Basic = false | Basic = false | ||
| Sor 111: | Sor 121: | ||
| </ | </ | ||
| - | Ellenőrizzük a tűzfal | + | === Tűzfal |
| < | < | ||
| Sor 159: | Sor 169: | ||
| </ | </ | ||
| - | Engedélyezzük a hozzáférést | + | === Hozzáférés engedélyezése === |
| < | < | ||
| Sor 165: | Sor 175: | ||
| </ | </ | ||
| - | Ismét ellenőrizzük a tűzfal | + | === Tűzfal |
| < | < | ||
| Sor 213: | Sor 223: | ||
| </ | </ | ||
| - | ==== Ellenőrizzük a szolgáltatást az ansible | + | ==== Szolgáltatás ellenőrzése (ansible) ==== |
| + | |||
| + | === Ellenőrző műveletek | ||
| < | < | ||
| Sor 466: | Sor 478: | ||
| - name: Create local user | - name: Create local user | ||
| ansible.windows.win_user: | ansible.windows.win_user: | ||
| - | name: "ansible" | + | name: "user1" |
| password: " | password: " | ||
| state: present | state: present | ||
| Sor 475: | Sor 487: | ||
| </ | </ | ||
| - | < | + | < |
| [ansible@ansible ~]$ ansible-playbook 03-create-local-user.yaml | [ansible@ansible ~]$ ansible-playbook 03-create-local-user.yaml | ||
| Sor 490: | Sor 502: | ||
| </ | </ | ||
| + | ==== Helyi felhasználó módosítása ==== | ||
| + | <file yaml 03-modify-local-user.yaml> | ||
| + | - hosts: windows | ||
| + | tasks: | ||
| + | - name: Add user1 to local Administrators | ||
| + | ansible.windows.win_group_membership: | ||
| + | name: Administrators | ||
| + | members: | ||
| + | - user1 | ||
| + | state: present | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 03-modify-local-user.yaml | ||
| + | |||
| + | PLAY [windows] ***************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] ********************************************************* | ||
| + | ok: [win2022] | ||
| + | |||
| + | TASK [Add user1 to local Administrators] *************************************** | ||
| + | changed: [win2022] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | win2022 | ||
| + | </ | ||
| + | |||
| + | ==== Helyi felhasználó törlése ==== | ||
| + | |||
| + | <file yaml 03-delete-local-user.yaml> | ||
| + | - hosts: windows | ||
| + | tasks: | ||
| + | - name: Delete user profile | ||
| + | ansible.windows.win_user_profile: | ||
| + | username: user1 | ||
| + | state: absent | ||
| + | |||
| + | - name: Delete local Windows user | ||
| + | ansible.windows.win_user: | ||
| + | name: user1 | ||
| + | state: absent | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 03-delete-local-user.yaml | ||
| + | |||
| + | PLAY [windows] ***************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] ********************************************************* | ||
| + | ok: [win2022] | ||
| + | |||
| + | TASK [Delete user profile] ***************************************************** | ||
| + | ok: [win2022] | ||
| + | |||
| + | TASK [Delete local Windows user] *********************************************** | ||
| + | changed: [win2022] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | win2022 | ||
| + | </ | ||
| Windows oldalon a profil és a felhasználó törlése adminisztrátorként futtatott PS utasítások segítségével elvégezhető: | Windows oldalon a profil és a felhasználó törlése adminisztrátorként futtatott PS utasítások segítségével elvégezhető: | ||
| Sor 516: | Sor 588: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ==== Több felhasználó létrehozása ==== | ||
| + | |||
| + | <file yaml 03-create-local-users.yaml> | ||
| + | - hosts: windows | ||
| + | vars: | ||
| + | local_users: | ||
| + | - { name: " | ||
| + | - { name: " | ||
| + | - { name: " | ||
| + | tasks: | ||
| + | - ansible.windows.win_user: | ||
| + | name: "{{ item.name }}" | ||
| + | password: "{{ item.pass }}" | ||
| + | state: present | ||
| + | loop: "{{ local_users }}" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 03-create-local-users.yaml | ||
| + | |||
| + | PLAY [windows] ***************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] ********************************************************* | ||
| + | ok: [win2022] | ||
| + | |||
| + | TASK [ansible.windows.win_user] ************************************************ | ||
| + | changed: [win2022] => (item={' | ||
| + | changed: [win2022] => (item={' | ||
| + | changed: [win2022] => (item={' | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | win2022 | ||
| + | </ | ||
| + | |||
| + | A felhasználók lekérdezhetők PowerShell segítségével. | ||
| + | |||
| + | < | ||
| + | PS C: | ||
| + | |||
| + | @{Name=user2} | ||
| + | @{Name=user3} | ||
| + | @{Name=user4} | ||
| + | </ | ||
| + | |||
| + | ==== Több felhasználó törlése ==== | ||
| + | |||
| + | <file yaml 03-delete-local-users.yaml> | ||
| + | - hosts: windows | ||
| + | vars: | ||
| + | local_users: | ||
| + | - user2 | ||
| + | - user3 | ||
| + | - user4 | ||
| + | |||
| + | tasks: | ||
| + | - name: Delete user profiles first | ||
| + | ansible.windows.win_user_profile: | ||
| + | username: "{{ item }}" | ||
| + | state: absent | ||
| + | loop: "{{ local_users }}" | ||
| + | |||
| + | - name: Delete local Windows users | ||
| + | ansible.windows.win_user: | ||
| + | name: "{{ item }}" | ||
| + | state: absent | ||
| + | loop: "{{ local_users }}" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 03-delete-local-users.yaml | ||
| + | |||
| + | PLAY [windows] ***************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] ********************************************************* | ||
| + | ok: [win2022] | ||
| + | |||
| + | TASK [Delete user profiles first] ********************************************** | ||
| + | ok: [win2022] => (item=user2) | ||
| + | ok: [win2022] => (item=user3) | ||
| + | ok: [win2022] => (item=user4) | ||
| + | |||
| + | TASK [Delete local Windows users] ********************************************** | ||
| + | changed: [win2022] => (item=user2) | ||
| + | changed: [win2022] => (item=user3) | ||
| + | changed: [win2022] => (item=user4) | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | win2022 | ||
| + | </ | ||
| + | |||
| + | ===== Active Directory szolgáltatások ===== | ||
| + | |||
| + | Ebben a példában az Active Directory szerver '' | ||
| + | |||
| + | ==== Előkészítő műveletek ==== | ||
| + | |||
| + | Ansible gépen telepíteni kell a '' | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-galaxy collection install microsoft.ad | ||
| + | Starting galaxy collection install process | ||
| + | Process install dependency map | ||
| + | Starting collection install process | ||
| + | Downloading https:// | ||
| + | Installing ' | ||
| + | microsoft.ad: | ||
| + | |||
| + | [ansible@ansible ~]$ ansible-galaxy collection list | ||
| + | |||
| + | # / | ||
| + | Collection | ||
| + | ----------------- ------- | ||
| + | ansible.windows | ||
| + | community.windows 3.2.0 | ||
| + | microsoft.ad | ||
| + | </ | ||
| + | |||
| + | ==== Szervezeti egység létrehozása ==== | ||
| + | |||
| + | <file yaml 04-create-ad-ou.yaml> | ||
| + | - name: Create AD organizational units | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Create Users OU | ||
| + | microsoft.ad.ou: | ||
| + | name: TanfolyamUsers | ||
| + | path: DC=kutyacica, | ||
| + | state: present | ||
| + | |||
| + | - name: Create Groups OU | ||
| + | microsoft.ad.ou: | ||
| + | name: TanfolyamGroups | ||
| + | path: DC=kutyacica, | ||
| + | state: present | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-create-ad-ou.yaml | ||
| + | |||
| + | PLAY [Create AD organizational units] ****************************************** | ||
| + | |||
| + | TASK [Create Users OU] ********************************************************* | ||
| + | changed: [adc] | ||
| + | |||
| + | TASK [Create Groups OU] ******************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=2 changed=2 | ||
| + | </ | ||
| + | |||
| + | ==== Csoport létrehozása ==== | ||
| + | |||
| + | <file yaml 04-create-ad-group.yaml> | ||
| + | - name: Create AD group | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Create global security group | ||
| + | microsoft.ad.group: | ||
| + | name: LinuxAdmins | ||
| + | path: OU=TanfolyamGroups, | ||
| + | scope: global | ||
| + | category: security | ||
| + | description: | ||
| + | state: present | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-create-ad-group.yaml | ||
| + | |||
| + | PLAY [Create AD group] ********************************************************* | ||
| + | |||
| + | TASK [Create global security group] ******************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Felhasználó létrehozása ==== | ||
| + | |||
| + | <file yaml 04-create-ad-user.yaml> | ||
| + | - name: Create AD user | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Create user jkovacs | ||
| + | microsoft.ad.user: | ||
| + | name: jkovacs | ||
| + | firstname: János | ||
| + | surname: Kovács | ||
| + | display_name: | ||
| + | upn: jkovacs@kutyacica.lan | ||
| + | sam_account_name: | ||
| + | path: OU=TanfolyamUsers, | ||
| + | password: " | ||
| + | enabled: true | ||
| + | state: present | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-create-ad-user.yaml | ||
| + | |||
| + | PLAY [Create AD user] ********************************************************** | ||
| + | |||
| + | TASK [Create user jkovacs] ***************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Felhasználó módosítása ==== | ||
| + | |||
| + | <file yaml 04-modify-ad-user.yaml> | ||
| + | - name: Modify AD user attributes | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | tasks: | ||
| + | - name: Modify user attributes | ||
| + | microsoft.ad.user: | ||
| + | identity: jkovacs | ||
| + | firstname: János | ||
| + | surname: Kovács | ||
| + | display_name: | ||
| + | description: | ||
| + | company: " | ||
| + | city: " | ||
| + | state_province: | ||
| + | street: "Fő utca 1" | ||
| + | postal_code: | ||
| + | country: " | ||
| + | email: " | ||
| + | attributes: | ||
| + | set: | ||
| + | department: " | ||
| + | title: " | ||
| + | telephoneNumber: | ||
| + | enabled: true | ||
| + | state: present | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-modify-ad-user.yaml | ||
| + | |||
| + | PLAY [Modify AD user attributes] *********************************************** | ||
| + | |||
| + | TASK [Modify user attributes] ************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | Megjegyzés: | ||
| + | |||
| + | domain_username, | ||
| + | |||
| + | Minden más esetben az attribútum az | ||
| + | |||
| + | < | ||
| + | attributes: | ||
| + | set: | ||
| + | attributeName: | ||
| + | </ | ||
| + | |||
| + | módszerrel módosítható. | ||
| + | |||
| + | ==== Felhasználó jelszavának cseréje ==== | ||
| + | |||
| + | <file yaml 04-change-ad-user-password.yaml> | ||
| + | - name: Change AD user password | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | tasks: | ||
| + | - name: Set new password | ||
| + | microsoft.ad.user: | ||
| + | identity: jkovacs | ||
| + | password: " | ||
| + | update_password: | ||
| + | state: present | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-change-ad-user-password.yaml | ||
| + | |||
| + | PLAY [Change AD user password] ************************************************* | ||
| + | |||
| + | TASK [Set new password] ******************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Felhasználó tiltása ==== | ||
| + | |||
| + | <file yaml 04-disable-ad-user.yaml> | ||
| + | - name: Disable AD user | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | tasks: | ||
| + | - name: Disable user | ||
| + | microsoft.ad.user: | ||
| + | identity: jkovacs | ||
| + | enabled: false | ||
| + | state: present | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-disable-ad-user.yaml | ||
| + | |||
| + | PLAY [Disable AD user] ********************************************************* | ||
| + | |||
| + | TASK [Disable user] ************************************************************ | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Felhasználó engedélyezése ==== | ||
| + | |||
| + | <file yaml 04-enable-ad-user.yaml> | ||
| + | - name: Enable AD user | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | tasks: | ||
| + | - name: Enable user | ||
| + | microsoft.ad.user: | ||
| + | identity: jkovacs | ||
| + | enabled: true | ||
| + | state: present | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-enable-ad-user.yaml | ||
| + | |||
| + | PLAY [Enable AD user] ********************************************************** | ||
| + | |||
| + | TASK [Enable user] ************************************************************ | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Felhasználó törlése ==== | ||
| + | |||
| + | <file yaml 04-delete-ad-user.yaml> | ||
| + | - name: Delete AD user | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | tasks: | ||
| + | - name: Delete user | ||
| + | microsoft.ad.user: | ||
| + | identity: jkovacs | ||
| + | state: absent | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-delete-ad-user.yaml | ||
| + | |||
| + | PLAY [Delete AD user] ********************************************************** | ||
| + | |||
| + | TASK [Delete user] ************************************************************* | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Csoport törlése ==== | ||
| + | |||
| + | <file yaml 04-delete-ad-group.yaml> | ||
| + | - name: Delete AD group | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | tasks: | ||
| + | - name: Delete global security group | ||
| + | microsoft.ad.group: | ||
| + | name: LinuxAdmins | ||
| + | state: absent | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-delete-ad-group.yaml | ||
| + | |||
| + | PLAY [Delete AD group] ********************************************************* | ||
| + | |||
| + | TASK [Delete global security group] ******************************************** | ||
| + | ok: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=0 | ||
| + | </ | ||
| + | |||
| + | ==== Szervezeti egység törlése ==== | ||
| + | |||
| + | <file yaml 04-delete-ad-ou.yaml> | ||
| + | - name: Delete AD organizational units | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | tasks: | ||
| + | - name: Delete Users OU | ||
| + | microsoft.ad.ou: | ||
| + | name: TanfolyamUsers | ||
| + | path: DC=kutyacica, | ||
| + | state: absent | ||
| + | |||
| + | - name: Delete Groups OU | ||
| + | microsoft.ad.ou: | ||
| + | name: TanfolyamGroups | ||
| + | path: DC=kutyacica, | ||
| + | state: absent | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-delete-ad-ou.yaml | ||
| + | |||
| + | PLAY [Delete AD organizational units] ****************************************** | ||
| + | |||
| + | TASK [Delete Users OU] ********************************************************* | ||
| + | changed: [adc] | ||
| + | |||
| + | TASK [Delete Groups OU] ******************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=2 changed=2 | ||
| + | </ | ||
| + | |||
| + | ==== Teljes példa ==== | ||
| + | |||
| + | <file yaml 04-ad.yaml> | ||
| + | 04-ad.yaml | ||
| + | - name: Manage AD objects | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | vars: | ||
| + | ad_state: present | ||
| + | |||
| + | domain_dn: " | ||
| + | |||
| + | ad_ous: | ||
| + | - name: TanfolyamUsers | ||
| + | path: "{{ domain_dn }}" | ||
| + | - name: TanfolyamGroups | ||
| + | path: "{{ domain_dn }}" | ||
| + | |||
| + | ad_groups: | ||
| + | - name: LinuxAdmins | ||
| + | path: " | ||
| + | scope: global | ||
| + | category: security | ||
| + | |||
| + | ad_users: | ||
| + | - username: jkovacs | ||
| + | firstname: János | ||
| + | surname: Kovács | ||
| + | - username: nagy.peter | ||
| + | firstname: Péter | ||
| + | surname: Nagy | ||
| + | |||
| + | tasks: | ||
| + | - name: Create OUs | ||
| + | microsoft.ad.ou: | ||
| + | name: "{{ item.name }}" | ||
| + | path: "{{ item.path }}" | ||
| + | protect_from_deletion: | ||
| + | state: present | ||
| + | loop: "{{ ad_ous }}" | ||
| + | when: ad_state == " | ||
| + | |||
| + | - name: Create groups | ||
| + | microsoft.ad.group: | ||
| + | name: "{{ item.name }}" | ||
| + | path: "{{ item.path }}" | ||
| + | scope: "{{ item.scope }}" | ||
| + | category: "{{ item.category }}" | ||
| + | state: present | ||
| + | loop: "{{ ad_groups }}" | ||
| + | when: ad_state == " | ||
| + | |||
| + | - name: Create users | ||
| + | microsoft.ad.user: | ||
| + | name: "{{ item.username }}" | ||
| + | firstname: "{{ item.firstname }}" | ||
| + | surname: "{{ item.surname }}" | ||
| + | display_name: | ||
| + | upn: "{{ item.username }}@kutyacica.lan" | ||
| + | sam_account_name: | ||
| + | path: " | ||
| + | password: " | ||
| + | enabled: true | ||
| + | state: present | ||
| + | loop: "{{ ad_users }}" | ||
| + | when: ad_state == " | ||
| + | |||
| + | - name: Add users to group | ||
| + | microsoft.ad.group: | ||
| + | name: LinuxAdmins | ||
| + | path: " | ||
| + | members: | ||
| + | add: "{{ ad_users | map(attribute=' | ||
| + | state: present | ||
| + | when: ad_state == " | ||
| + | |||
| + | - name: Delete users | ||
| + | microsoft.ad.user: | ||
| + | identity: "{{ item.username }}" | ||
| + | state: absent | ||
| + | loop: "{{ ad_users }}" | ||
| + | when: ad_state == " | ||
| + | |||
| + | - name: Delete groups | ||
| + | microsoft.ad.group: | ||
| + | identity: "{{ item.name }}" | ||
| + | state: absent | ||
| + | loop: "{{ ad_groups }}" | ||
| + | when: ad_state == " | ||
| + | |||
| + | - name: Delete OUs | ||
| + | microsoft.ad.ou: | ||
| + | name: "{{ item.name }}" | ||
| + | path: "{{ item.path }}" | ||
| + | state: absent | ||
| + | loop: "{{ ad_ous | reverse | list }}" | ||
| + | when: ad_state == " | ||
| + | </ | ||
| + | |||
| + | === Létrehozás === | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-ad.yaml -e ad_state=present | ||
| + | |||
| + | PLAY [Manage AD objects] ******************************************************* | ||
| + | |||
| + | TASK [Create OUs] ************************************************************** | ||
| + | changed: [adc] => (item={' | ||
| + | changed: [adc] => (item={' | ||
| + | |||
| + | TASK [Create groups] *********************************************************** | ||
| + | changed: [adc] => (item={' | ||
| + | |||
| + | TASK [Create users] ************************************************************ | ||
| + | changed: [adc] => (item={' | ||
| + | changed: [adc] => (item={' | ||
| + | |||
| + | TASK [Add users to group] ****************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | TASK [Delete users] ************************************************************ | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] | ||
| + | |||
| + | TASK [Delete groups] *********************************************************** | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] | ||
| + | |||
| + | TASK [Delete OUs] ************************************************************** | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=4 changed=4 | ||
| + | </ | ||
| + | |||
| + | === Törlés === | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 04-ad.yaml -e ad_state=absent | ||
| + | |||
| + | PLAY [Manage AD objects] ******************************************************* | ||
| + | |||
| + | TASK [Create OUs] ************************************************************** | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] | ||
| + | |||
| + | TASK [Create groups] *********************************************************** | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] | ||
| + | |||
| + | TASK [Create users] ************************************************************ | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] => (item={' | ||
| + | skipping: [adc] | ||
| + | |||
| + | TASK [Add users to group] ****************************************************** | ||
| + | skipping: [adc] | ||
| + | |||
| + | TASK [Delete users] ************************************************************ | ||
| + | changed: [adc] => (item={' | ||
| + | changed: [adc] => (item={' | ||
| + | |||
| + | TASK [Delete groups] *********************************************************** | ||
| + | changed: [adc] => (item={' | ||
| + | |||
| + | TASK [Delete OUs] ************************************************************** | ||
| + | changed: [adc] => (item={' | ||
| + | changed: [adc] => (item={' | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=3 changed=3 | ||
| + | </ | ||
| + | |||
| + | ===== Könyvtárak és fájlok ===== | ||
| + | |||
| + | ==== Könyvtár létrehozás ==== | ||
| + | |||
| + | <file yaml 05-create-directory.yaml> | ||
| + | - name: Directory management demo | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Create application root directory | ||
| + | ansible.windows.win_file: | ||
| + | path: C:\apps | ||
| + | state: directory | ||
| + | |||
| + | - name: Create application subdirectories | ||
| + | ansible.windows.win_file: | ||
| + | path: " | ||
| + | state: directory | ||
| + | loop: | ||
| + | - conf | ||
| + | - logs | ||
| + | - data | ||
| + | - backup | ||
| + | - temp | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-create-directory.yaml | ||
| + | |||
| + | PLAY [Directory management demo] *********************************************** | ||
| + | |||
| + | TASK [Create application root directory] *************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | TASK [Create application subdirectories] *************************************** | ||
| + | changed: [adc] => (item=conf) | ||
| + | changed: [adc] => (item=logs) | ||
| + | changed: [adc] => (item=data) | ||
| + | changed: [adc] => (item=backup) | ||
| + | changed: [adc] => (item=temp) | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=2 changed=2 | ||
| + | </ | ||
| + | |||
| + | ==== Könyvtár ellenőrzése ==== | ||
| + | |||
| + | <file yaml 05-check-directory.yaml> | ||
| + | - name: Verify directory existence | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Check application directory | ||
| + | ansible.windows.win_stat: | ||
| + | path: C:\apps | ||
| + | register: apps_dir | ||
| + | |||
| + | - name: Display directory status | ||
| + | ansible.builtin.debug: | ||
| + | var: apps_dir.stat.exists | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-check-directory.yaml | ||
| + | |||
| + | PLAY [Verify directory existence] ********************************************** | ||
| + | |||
| + | TASK [Check application directory] ********************************************* | ||
| + | ok: [adc] | ||
| + | |||
| + | TASK [Display directory status] ************************************************ | ||
| + | ok: [adc] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=2 changed=0 | ||
| + | </ | ||
| + | |||
| + | ==== Könyvtár törlés ==== | ||
| + | |||
| + | A könyvtár törlése eltávolítja a könyvtár tartalmát (alkönyvtárak, | ||
| + | |||
| + | <file yaml 05-delete-directory.yaml> | ||
| + | - name: Remove temporary directory | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Delete temp directory | ||
| + | ansible.windows.win_file: | ||
| + | path: C: | ||
| + | state: absent | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-delete-directory.yaml | ||
| + | |||
| + | PLAY [Remove temporary directory] ********************************************** | ||
| + | |||
| + | TASK [Delete temp directory] *************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | === Több könyvtár törlése === | ||
| + | |||
| + | <file yaml 05-delete-multiple-directories.yaml> | ||
| + | - name: Remove multiple directories | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Delete selected directories | ||
| + | ansible.windows.win_file: | ||
| + | path: " | ||
| + | state: absent | ||
| + | loop: | ||
| + | - backup | ||
| + | - temp | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-delete-multiple-directories.yaml | ||
| + | |||
| + | PLAY [Remove multiple directories] ********************************************* | ||
| + | |||
| + | TASK [Delete selected directories] ********************************************* | ||
| + | changed: [adc] => (item=backup) | ||
| + | changed: [adc] => (item=temp) | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Könyvtár tartalom megjelenítése ==== | ||
| + | |||
| + | <file yaml 05-list-directory-content-recursive.yaml> | ||
| + | - name: List directory contents | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: List files and directories | ||
| + | ansible.windows.win_shell: | ||
| + | Get-ChildItem C:\apps | ||
| + | register: dir_listing | ||
| + | |||
| + | - name: Display directory contents | ||
| + | ansible.builtin.debug: | ||
| + | var: dir_listing.stdout_lines | ||
| + | |||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-list-directory-content-recursive.yaml | ||
| + | |||
| + | PLAY [List directory contents] ************************************************* | ||
| + | |||
| + | TASK [List files and directories] ********************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | TASK [Display directory contents] ********************************************** | ||
| + | ok: [adc] => { | ||
| + | " | ||
| + | "", | ||
| + | "", | ||
| + | " | ||
| + | "", | ||
| + | "", | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | "", | ||
| + | "" | ||
| + | ] | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=2 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Fájl létrehozás ==== | ||
| + | |||
| + | <file yaml 05-create-empty-file.yaml> | ||
| + | - name: Create empty file | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Create log file | ||
| + | ansible.windows.win_file: | ||
| + | path: C: | ||
| + | state: touch | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-create-empty-file.yaml | ||
| + | |||
| + | PLAY [Create empty file] ******************************************************* | ||
| + | |||
| + | TASK [Create log file] ********************************************************* | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | <file yaml 05-create-file-with-content.yaml> | ||
| + | - name: Create configuration file | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Create application configuration file | ||
| + | ansible.windows.win_copy: | ||
| + | dest: C: | ||
| + | content: | | ||
| + | app_name=DemoApp | ||
| + | environment=training | ||
| + | log_level=info | ||
| + | data_dir=C: | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-create-file-with-content.yaml | ||
| + | |||
| + | PLAY [Create configuration file] *********************************************** | ||
| + | |||
| + | TASK [Create application configuration file] *********************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Fájl másolás ==== | ||
| + | |||
| + | <file yaml 05-file-copy.yaml> | ||
| + | - name: Copy file to Windows host | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Copy README file | ||
| + | ansible.windows.win_copy: | ||
| + | src: files/ | ||
| + | dest: C: | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ mkdir files | ||
| + | |||
| + | [ansible@ansible ~]$ echo "Fájl tartalom" | ||
| + | |||
| + | [ansible@ansible ~]$ ansible-playbook 05-file-copy.yaml | ||
| + | |||
| + | PLAY [Copy file to Windows host] *********************************************** | ||
| + | |||
| + | TASK [Copy README file] ******************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Fájl ellenőrzés ==== | ||
| + | |||
| + | <file yaml 05-check-file-existence.yaml> | ||
| + | - name: Verify file existence | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Check configuration file | ||
| + | ansible.windows.win_stat: | ||
| + | path: C: | ||
| + | register: conf_file | ||
| + | |||
| + | - name: Display file status | ||
| + | ansible.builtin.debug: | ||
| + | var: conf_file.stat.exists | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-check-file-existence.yaml | ||
| + | |||
| + | PLAY [Verify file existence] *************************************************** | ||
| + | |||
| + | TASK [Check configuration file] ************************************************ | ||
| + | ok: [adc] | ||
| + | |||
| + | TASK [Display file status] ***************************************************** | ||
| + | ok: [adc] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=2 changed=0 | ||
| + | </ | ||
| + | |||
| + | ==== Fájl tartalom módosítás ==== | ||
| + | |||
| + | === Sor csere === | ||
| + | |||
| + | <file yaml 05-modify-file.yaml> | ||
| + | - name: Update configuration setting | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Set log level to debug | ||
| + | community.windows.win_lineinfile: | ||
| + | path: C: | ||
| + | regexp: ' | ||
| + | line: ' | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-modify-file.yaml | ||
| + | |||
| + | PLAY [Update configuration setting] ******************************************** | ||
| + | |||
| + | TASK [Set log level to debug] ************************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | === Új sor === | ||
| + | |||
| + | <file yaml 05-add-line-to-file.yaml> | ||
| + | - name: Add configuration entry | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Add max_clients setting | ||
| + | community.windows.win_lineinfile: | ||
| + | path: C: | ||
| + | line: ' | ||
| + | create: true | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-add-line-to-file.yaml | ||
| + | |||
| + | PLAY [Add configuration entry] ************************************************* | ||
| + | |||
| + | TASK [Add max_clients setting] ************************************************* | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | === Sor törlés === | ||
| + | |||
| + | <file yaml 05-delete-line-from-file.yaml> | ||
| + | - name: Remove configuration entry | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Remove environment setting | ||
| + | community.windows.win_lineinfile: | ||
| + | path: C: | ||
| + | regexp: ' | ||
| + | state: absent | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-delete-line-from-file.yaml | ||
| + | |||
| + | PLAY [Remove configuration entry] ********************************************** | ||
| + | |||
| + | TASK [Remove environment setting] ********************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | === Több sor módosítása === | ||
| + | |||
| + | <file yaml 05-modify-multiple-lines-in-file.yaml> | ||
| + | - name: Configure multiple settings | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Configure application settings | ||
| + | community.windows.win_lineinfile: | ||
| + | path: C: | ||
| + | regexp: "^{{ item.key }}=" | ||
| + | line: "{{ item.key }}={{ item.value }}" | ||
| + | create: true | ||
| + | loop: | ||
| + | - { key: " | ||
| + | - { key: " | ||
| + | - { key: " | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-modify-multiple-lines-in-file.yaml | ||
| + | |||
| + | PLAY [Configure multiple settings] ********************************************* | ||
| + | |||
| + | TASK [Configure application settings] ****************************************** | ||
| + | ok: [adc] => (item={' | ||
| + | changed: [adc] => (item={' | ||
| + | changed: [adc] => (item={' | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=1 changed=1 | ||
| + | </ | ||
| + | |||
| + | ==== Fájl tartalom megjelenítése ==== | ||
| + | |||
| + | <file yaml 05-read-file-content.yaml> | ||
| + | - name: Read configuration file | ||
| + | hosts: windows | ||
| + | gather_facts: | ||
| + | |||
| + | tasks: | ||
| + | - name: Read configuration file content | ||
| + | ansible.windows.win_shell: | ||
| + | register: conf_content | ||
| + | |||
| + | - name: Display configuration content | ||
| + | ansible.builtin.debug: | ||
| + | var: conf_content.stdout_lines | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 05-read-file-content.yaml | ||
| + | |||
| + | PLAY [Read configuration file] ************************************************* | ||
| + | |||
| + | TASK [Read configuration file content] ***************************************** | ||
| + | changed: [adc] | ||
| + | |||
| + | TASK [Display configuration content] ******************************************* | ||
| + | ok: [adc] => { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | ] | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | adc : ok=2 changed=1 | ||
| + | </ | ||
| + | |||
| + | ===== Ansible vault ===== | ||
| + | |||
| + | ==== Fájl műveletek ==== | ||
| + | |||
| + | === Létrehozás === | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ cat > secret.yaml <<' | ||
| + | db_user: appuser | ||
| + | db_password: | ||
| + | EOF | ||
| + | </ | ||
| + | |||
| + | === Titkosítás === | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-vault encrypt secret.yaml | ||
| + | New Vault password: | ||
| + | Confirm New Vault password: | ||
| + | Encryption successful | ||
| + | |||
| + | [ansible@ansible ~]$ cat secret.yaml | ||
| + | $ANSIBLE_VAULT; | ||
| + | 66306635613562363439353734343137346161353763636162383363616234303962616363336366 | ||
| + | 6633396663663462353864393231313461353532373531340a306333616563306133343332373335 | ||
| + | 61356334383632656432333538366262636261646233363661386638366533616537373034356263 | ||
| + | 3961353663633331320a383261663839376463396534313237323266306564623637613637373462 | ||
| + | 39646263383532356362353833393635613732653334646134613262313439313739353331333831 | ||
| + | 6332343031333734373935336338333638656661386636613730 | ||
| + | </ | ||
| + | |||
| + | === Szerkesztés === | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-vault edit secret.yaml | ||
| + | Vault password: | ||
| + | ... | ||
| + | </ | ||
| + | |||
| + | === Visszafejtés === | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-vault decrypt secret.yaml | ||
| + | Vault password: | ||
| + | Decryption successful | ||
| + | |||
| + | [ansible@ansible ~]$ cat secret.yaml | ||
| + | db_user: appuser | ||
| + | db_password: | ||
| + | </ | ||
| + | |||
| + | === Jelszó csere === | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-vault rekey secret.yaml | ||
| + | Vault password: | ||
| + | New Vault password: | ||
| + | Confirm New Vault password: | ||
| + | Rekey successful | ||
| + | </ | ||
| + | |||
| + | ==== Interaktív használat ==== | ||
| + | |||
| + | <file yaml 06-vault-test.yaml> | ||
| + | - hosts: localhost | ||
| + | vars_files: | ||
| + | - secret.yaml | ||
| + | |||
| + | tasks: | ||
| + | - debug: | ||
| + | msg: "DB password: {{ db_password }}" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 06-vault-test.yaml | ||
| + | ERROR! Attempting to decrypt but no vault secrets found | ||
| + | |||
| + | [ansible@ansible ~]$ ansible-playbook 06-vault-test.yaml --ask-vault-pass | ||
| + | Vault password: | ||
| + | |||
| + | PLAY [localhost] *************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] ********************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ******************************************************************* | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | ==== Jelszófájl használat ==== | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ cat > vault.pass <<' | ||
| + | 12345 | ||
| + | EOF | ||
| + | |||
| + | [ansible@ansible ~]$ chmod 0600 vault.pass | ||
| + | |||
| + | [ansible@ansible ~]$ ansible-playbook 06-vault-test.yaml --vault-password-file vault.pass | ||
| + | |||
| + | PLAY [localhost] *************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] ********************************************************* | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ******************************************************************* | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | ==== Változó titkosítása ==== | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-vault encrypt_string ' | ||
| + | New Vault password: | ||
| + | Confirm New Vault password: | ||
| + | Encryption successful | ||
| + | db_password: | ||
| + | $ANSIBLE_VAULT; | ||
| + | 64663064386637346261633135653162356330353564373332613430336266313930323061646465 | ||
| + | 6263373239316131626264623966343962303964343131360a623838393637643131623965663765 | ||
| + | 39346333613866376437633137643838306330353632616366353966353062326366383232633264 | ||
| + | 3933303831666237340a383038636464313235353166313661363139316161636464323539653138 | ||
| + | 3530 | ||
| + | </ | ||
| + | |||
| + | <file yaml 06-internal-vault-test.yaml> | ||
| + | - hosts: localhost | ||
| + | vars: | ||
| + | db_user: appuser | ||
| + | db_password: | ||
| + | $ANSIBLE_VAULT; | ||
| + | 64663064386637346261633135653162356330353564373332613430336266313930323061646465 | ||
| + | 6263373239316131626264623966343962303964343131360a623838393637643131623965663765 | ||
| + | 39346333613866376437633137643838306330353632616366353966353062326366383232633264 | ||
| + | 3933303831666237340a383038636464313235353166313661363139316161636464323539653138 | ||
| + | 3530 | ||
| + | |||
| + | tasks: | ||
| + | - debug: | ||
| + | msg: "DB password: {{ db_password }}" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 06-internal-vault-test.yaml | ||
| + | |||
| + | PLAY [localhost] ***************************************************************************************************************************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] *********************************************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ********************************************************************************************************************************************************************************* | ||
| + | fatal: [localhost]: | ||
| + | |||
| + | PLAY RECAP *********************************************************************************************************************************************************************************** | ||
| + | localhost | ||
| + | |||
| + | [ansible@ansible ~]$ ansible-playbook 06-internal-vault-test.yaml --vault-password-file vault.pass | ||
| + | |||
| + | PLAY [localhost] ***************************************************************************************************************************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] *********************************************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ********************************************************************************************************************************************************************************* | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP *********************************************************************************************************************************************************************************** | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | ==== Több vault használata ==== | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-vault encrypt_string --vault-id dev@prompt ' | ||
| + | New vault password (dev): | ||
| + | Confirm new vault password (dev): | ||
| + | |||
| + | [ansible@ansible ~]$ ansible-vault encrypt_string --vault-id prod@prompt ' | ||
| + | New vault password (prod): | ||
| + | Confirm new vault password (prod): | ||
| + | |||
| + | [ansible@ansible ~]$ cat vaults.yaml | ||
| + | dev_db_password: | ||
| + | $ANSIBLE_VAULT; | ||
| + | 34653336386234303265623664386237393761626465626230373133643762613266636434613965 | ||
| + | 3439333961393832346231353037663662336565306430310a613264636639643865376561316139 | ||
| + | 65663862386134396237383936356630666664346530376235333834633033643135396236613262 | ||
| + | 3566653338383735640a323937623663303539346463346338366266353866366234336631613538 | ||
| + | 6565 | ||
| + | prod_db_password: | ||
| + | $ANSIBLE_VAULT; | ||
| + | 63623637666532326637316432396432393431333664323262363937386238303134303264353436 | ||
| + | 3866336533396262626438616630373863366261366533350a663765316337343863356665363763 | ||
| + | 36663835643730303734643032643466323732386561633162323332373861656235346462643130 | ||
| + | 6465303633356331370a363564653465653666656366353166663039333430656163373939326538 | ||
| + | 6531 | ||
| + | </ | ||
| + | |||
| + | <file yaml 06-vault-id.yaml> | ||
| + | - hosts: localhost | ||
| + | |||
| + | vars: | ||
| + | db_user: appuser | ||
| + | |||
| + | vars_files: | ||
| + | - vaults.yaml | ||
| + | |||
| + | tasks: | ||
| + | - debug: | ||
| + | msg: "DEV DB password: {{ dev_db_password }}" | ||
| + | |||
| + | - debug: | ||
| + | msg: "PROD DB password: {{ prod_db_password }}" | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 06-vault-id.yaml --vault-id dev@prompt --vault-id prod@prompt | ||
| + | Vault password (dev): | ||
| + | Vault password (prod): | ||
| + | |||
| + | PLAY [localhost] ***************************************************************************************************************************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] *********************************************************************************************************************************************************************** | ||
| + | ok: [localhost] | ||
| + | |||
| + | TASK [debug] ********************************************************************************************************************************************************************************* | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | TASK [debug] ********************************************************************************************************************************************************************************* | ||
| + | ok: [localhost] => { | ||
| + | " | ||
| + | } | ||
| + | |||
| + | PLAY RECAP *********************************************************************************************************************************************************************************** | ||
| + | localhost | ||
| + | </ | ||
| + | |||
| + | ===== Windows frissítés, | ||
| + | |||
| + | ==== Windows frissítés (kritikus és biztonsági javítások) ==== | ||
| + | |||
| + | <file yaml 99-windows-update.yaml> | ||
| + | - hosts: windows | ||
| + | tasks: | ||
| + | - name: Install critical/ | ||
| + | ansible.windows.win_updates: | ||
| + | category_names: | ||
| + | - CriticalUpdates | ||
| + | - SecurityUpdates | ||
| + | reboot: true | ||
| + | register: upd | ||
| + | |||
| + | - debug: | ||
| + | var: upd | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | |||
| + | < | ||
| + | [ansible@ansible ~]$ ansible-playbook 99-windows-update.yaml | ||
| + | |||
| + | PLAY [windows] ***************************************************************** | ||
| + | |||
| + | TASK [Gathering Facts] ********************************************************* | ||
| + | ok: [win2022] | ||
| + | |||
| + | TASK [Install critical/ | ||
| + | An exception occurred during task execution. To see the full traceback, use -vvv. The error was: Exception: Timed out waiting for last boot time check (timeout=1200) | ||
| + | fatal: [win2022]: FAILED! => {" | ||
| + | |||
| + | PLAY RECAP ********************************************************************* | ||
| + | win2022 | ||
| + | </ | ||
| + | |||
| + | A frissítés nyomon követhető PowerShell segítségével. | ||
| + | |||
| + | < | ||
| + | PS C: | ||
| + | |||
| + | Status | ||
| + | ------ | ||
| + | Stopped | ||
| + | Running | ||
| + | Running | ||
| + | Running | ||
| + | |||
| + | |||
| + | PS C: | ||
| + | |||
| + | Status | ||
| + | ------ | ||
| + | Running | ||
| + | |||
| + | |||
| + | PS C: | ||
| + | 2026-05-26 01:55:11, Info DPX hr: 0x8000000a at onecore\base\compress\dpx\src\dpxjob.cpp(2433) | ||
| + | 2026-05-26 01:55:11, Info DPX Started DPX phase: Apply Deltas Provided In File | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x80070012 at onecore\base\compress\dpx\src\ipdcab.cpp(1338) | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x80070012 at onecore\base\compress\dpx\src\bufcab.cpp(330) | ||
| + | 2026-05-26 01:55:13, Info DPX CCabStorage:: | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x80070012 at onecore\base\compress\dpx\src\storage.cpp(466) | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x80070012 at onecore\base\compress\dpx\src\storage.cpp(58) | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x80070012 at onecore\base\compress\dpx\src\storage.cpp(565) | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x80070012 at onecore\base\compress\dpx\src\bufcab.cpp(21) | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x80070012 at onecore\base\compress\dpx\src\bufcab.cpp(108) | ||
| + | 2026-05-26 01:55:13, Info DPX Ended DPX phase: Apply Deltas Provided In File | ||
| + | 2026-05-26 01:55:13, Info DPX CJob:: | ||
| + | 2026-05-26 01:55:13, Info DPX Ended DPX phase: Resume and Download Job | ||
| + | 2026-05-26 01:55:13, Info CBS Extracting all files from cabinet \\? | ||
| + | 2026-05-26 01:55:13, Info DPX Started DPX phase: Resume and Download Job | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x8000000a at onecore\base\compress\dpx\src\dpxjob.cpp(2433) | ||
| + | 2026-05-26 01:55:13, Info DPX Started DPX phase: Apply Deltas Provided In File | ||
| + | 2026-05-26 01:55:13, Info DPX Ended DPX phase: Apply Deltas Provided In File | ||
| + | 2026-05-26 01:55:13, Info DPX hr: 0x8000000a at onecore\base\compress\dpx\src\dpxjob.cpp(2433) | ||
| + | 2026-05-26 01:55:13, Info DPX Started DPX phase: Apply Deltas Provided In File | ||
| + | 2026-05-26 02:06:38, Info DPX Ended DPX phase: Apply Deltas Provided In File | ||
| + | 2026-05-26 02:06:38, Info DPX CJob:: | ||
| + | 2026-05-26 02:06:38, Info DPX Ended DPX phase: Resume and Download Job | ||
| + | 2026-05-26 02:06:38, Info CBS Extracting all files from cabinet \\? | ||
| + | 2026-05-26 02:06:38, Info DPX Started DPX phase: Resume and Download Job | ||
| + | 2026-05-26 02:06:38, Info DPX hr: 0x8000000a at onecore\base\compress\dpx\src\dpxjob.cpp(2433) | ||
| + | 2026-05-26 02:06:38, Info DPX Started DPX phase: Apply Deltas Provided In File | ||
| + | 2026-05-26 02:06:38, Info DPX Ended DPX phase: Apply Deltas Provided In File | ||
| + | 2026-05-26 02:06:38, Info DPX hr: 0x8000000a at onecore\base\compress\dpx\src\dpxjob.cpp(2433) | ||
| + | 2026-05-26 02:06:38, Info DPX Started DPX phase: Apply Deltas Provided In File | ||
| + | </ | ||
ansible/windows.1779781457.txt.gz · legutóbbi módosítás: – Szerkesztő: riba.zoltan
