Files
product-demos/windows/create_ad_domain.yml

63 lines
1.8 KiB
YAML

---
- name: Create Active Directory domain
hosts: "{{ _hosts | default('os_windows') }}"
gather_facts: false
tasks:
- name: Set Local Admin Password
ansible.windows.win_user:
name: Administrator
password: "{{ ansible_password }}"
- name: Update the hostname
ansible.windows.win_hostname:
name: "{{ inventory_hostname.split('.')[0] }}"
register: r_rename_hostname
- name: Reboot to apply new hostname
# noqa no-handler
when: r_rename_hostname is changed
ansible.windows.win_reboot:
reboot_timeout: 3600
- name: Create new domain in a new forest on the target host
register: r_create_domain
microsoft.ad.domain:
dns_domain_name: ansible.local
safe_mode_password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
- name: Verify domain services running
# noqa no-handler
when: r_create_domain is changed
ansible.builtin.include_tasks:
file: tasks/domain_services_check.yml
- name: Create some groups
microsoft.ad.group:
name: "{{ item.name }}"
scope: global
loop:
- name: "GroupA"
- name: "GroupB"
- name: "GroupC"
retries: 5
delay: 10
- name: Create some users
microsoft.ad.user:
name: "{{ item.name }}"
groups:
set:
- "{{ item.group }}"
password: "{{ lookup('community.general.random_string', min_lower=1, min_upper=1, min_special=1, min_numeric=1) }}"
update_password: on_create
loop:
- name: "UserA"
group: "GroupA"
- name: "UserB"
group: "GroupB"
- name: "UserC"
group: "GroupC"
retries: 5
delay: 10