Files
windows-ansible/ansible/roles/win_domain_controller/tasks/setup.yml
T

96 lines
2.9 KiB
YAML

---
- name: Group policy script
tags: gpo_script
block:
- name: Copy Group Policy script to DC01
win_copy:
src: "{{ group_policy_script }}"
dest: "C:\\eidf"
force: true
tags: copy_script
- name: Apply group policy
win_shell: powershell C:\eidf\{{ group_policy_script }}
tags: apply_script
when: inventory_hostname in groups['meta-name_dc01']
- name: Promote DC01
tags: promote_dc01
block:
- name: Promote DC01 to domain controller
win_domain:
dns_domain_name: "{{ win_project }}.loc"
safe_mode_password: "{{ safemode_password }}"
domain_netbios_name: "{{ win_project|upper }}"
register: dc01_promotion
- name: Setting DNS Servers (Primary DC)
vars:
dc02_dns: "{{ os_project }}-{{ win_project }}-dc02"
win_dns_client:
adapter_names: "*"
dns_servers:
- "127.0.0.1"
- "{{ hostvars[dc02_dns].ansible_host }}"
- name: Rebooting DC01 post promotion to domain controller
win_reboot:
reboot_timeout_sec: 1200
when: dc01_promotion.reboot_required | default(false) == true
when: inventory_hostname in groups['meta-name_dc01']
- name: Promote DC02
tags: promote_dc02
block:
- name: Setting DNS Servers (Secondary DC)
vars:
dc01_dns: "{{ os_project }}-{{ win_project }}-dc01"
win_dns_client:
adapter_names: "*"
dns_servers:
- "{{ hostvars[dc01_dns].ansible_host }}"
- "127.0.0.1"
- name: wait for 30 seconds for DNS
pause:
seconds: 30
- name: Promote DC02 to domain controller
win_domain_controller:
dns_domain_name: "{{ win_project }}.loc"
domain_admin_user: "Administrator@{{ win_project }}.loc"
domain_admin_password: "{{ ansible_password }}"
safe_mode_password: "{{ safemode_password }}"
state: domain_controller
register: dc02_promotion
rescue:
- name: Wait 2 minutes before trying to promote again
pause:
minutes: 2
- name: Promote DC02 to domain controller
win_domain_controller:
dns_domain_name: "{{ win_project }}.loc"
domain_admin_user: "Administrator@{{ win_project }}.loc"
domain_admin_password: "{{ ansible_password }}"
safe_mode_password: "{{ safemode_password }}"
state: domain_controller
register: dc02_promotion
always:
- name: Rebooting DC02 post promotion to domain controller
win_reboot:
reboot_timeout_sec: 1200
when: dc02_promotion.reboot_required | default(false) == true
when: inventory_hostname in groups['meta-name_dc02']
- name: Copy ADMX/ADML files
tags: copy_admx
block:
- name: Copy ADMX and ADML files to DCs
win_copy:
src: policy_templates/PolicyDefinitions/
dest: "C:\\Windows\\SYSVOL\\sysvol\\{{ win_project }}.loc\\policies\\"
force: true