summaryrefslogtreecommitdiff
path: root/ansible/roles
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/roles')
-rw-r--r--ansible/roles/adcs01/tasks/init.yaml7
-rw-r--r--ansible/roles/adcs01/tasks/main.yaml10
-rw-r--r--ansible/roles/adcs01/tasks/setup_adcs.yaml12
-rw-r--r--ansible/roles/adcs01/tasks/setup_mssql.yaml8
-rw-r--r--ansible/roles/dc01/tasks/populate_ad.yaml12
-rw-r--r--ansible/roles/dc01/tasks/setup_defender_gpo.yaml5
-rw-r--r--ansible/roles/dc01/tasks/setup_domain.yaml10
-rw-r--r--ansible/roles/dc01/tasks/setup_gpo.yaml5
-rw-r--r--ansible/roles/dc02/tasks/cleanup.yaml (renamed from ansible/roles/mssql02/tasks/cleanup.yaml)0
-rw-r--r--ansible/roles/dc02/tasks/init.yaml3
-rw-r--r--ansible/roles/dc02/tasks/install_software.yaml (renamed from ansible/roles/mssql02/tasks/install_software.yaml)0
-rw-r--r--ansible/roles/dc02/tasks/main.yaml (renamed from ansible/roles/mssql02/tasks/main.yaml)20
-rw-r--r--ansible/roles/dc02/tasks/reboot.yaml (renamed from ansible/roles/mssql02/tasks/reboot.yaml)2
-rw-r--r--ansible/roles/dc02/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/dc02/tasks/setup_defender_gpo.yaml10
-rw-r--r--ansible/roles/dc02/tasks/setup_tree_domain.yaml9
-rw-r--r--ansible/roles/dc02/tasks/wait_for_ready.yaml3
-rw-r--r--ansible/roles/dc03/tasks/cleanup.yaml3
-rw-r--r--ansible/roles/dc03/tasks/init.yaml3
-rw-r--r--ansible/roles/dc03/tasks/install_software.yaml3
-rw-r--r--ansible/roles/dc03/tasks/main.yaml36
-rw-r--r--ansible/roles/dc03/tasks/reboot.yaml3
-rw-r--r--ansible/roles/dc03/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/dc03/tasks/setup_child_domain.yaml9
-rw-r--r--ansible/roles/dc03/tasks/setup_defender_gpo.yaml10
-rw-r--r--ansible/roles/dc03/tasks/wait_for_ready.yaml3
-rw-r--r--ansible/roles/mssql02/tasks/init.yaml9
-rw-r--r--ansible/roles/mssql02/tasks/join_domain.yaml13
-rw-r--r--ansible/roles/mssql02/tasks/set_hostname.yaml2
-rw-r--r--ansible/roles/mssql02/tasks/setup_mssql.yaml7
-rw-r--r--ansible/roles/websql01/tasks/setup_mssql_link.yaml8
-rw-r--r--ansible/roles/websql01/tasks/setup_websql.yaml14
32 files changed, 171 insertions, 72 deletions
diff --git a/ansible/roles/adcs01/tasks/init.yaml b/ansible/roles/adcs01/tasks/init.yaml
index 418bb5d..e329b0c 100644
--- a/ansible/roles/adcs01/tasks/init.yaml
+++ b/ansible/roles/adcs01/tasks/init.yaml
@@ -10,9 +10,14 @@
- name: upload ADCSTemplate module
ansible.builtin.copy:
src: ../../../files/adcs/ADCSTemplate
- dest: C:\Program Files\WindowsPowerShell\Modules\ADCSTemplate
+ dest: C:\Program Files\WindowsPowerShell\Modules
- name: upload adcs templates
ansible.builtin.copy:
src: ../../../files/adcs/templates
dest: C:\setup
+
+- name: copy mssql installer
+ ansible.builtin.copy:
+ src: files/SQL2019-SSEI-Expr.exe
+ dest: C:\setup\SQL2019-SSEI-Expr.exe
diff --git a/ansible/roles/adcs01/tasks/main.yaml b/ansible/roles/adcs01/tasks/main.yaml
index e3f8923..4e44dc9 100644
--- a/ansible/roles/adcs01/tasks/main.yaml
+++ b/ansible/roles/adcs01/tasks/main.yaml
@@ -33,6 +33,16 @@
- name: reboot after adcs esc setup
import_tasks: reboot.yaml
+- name: execute setup-mssql.ps1
+ import_tasks: setup_mssql.yaml
+
+- name: reboot after mssql setup
+ import_tasks: reboot.yaml
+
+- name: pause 5 minutes for mssql setup to complete
+ pause:
+ minutes: 5
+
- name: execute install-software.ps1
import_tasks: install_software.yaml
diff --git a/ansible/roles/adcs01/tasks/setup_adcs.yaml b/ansible/roles/adcs01/tasks/setup_adcs.yaml
index 9c6140e..b5fee4d 100644
--- a/ansible/roles/adcs01/tasks/setup_adcs.yaml
+++ b/ansible/roles/adcs01/tasks/setup_adcs.yaml
@@ -1,7 +1,7 @@
- name: setup adcs
- ansible.windows.win_powershell:
- script: C:\scripts\setup-adcs.ps1
- parameters:
- DomainName: "{{ main_domain_name }}"
- Username: "Administrator"
- Password: "{{ default_win_password }}"
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-adcs.ps1
+ -DomainName "{{ main_domain_name }}"
+ -Username Administrator
+ -Password "{{ default_win_password }}"
diff --git a/ansible/roles/adcs01/tasks/setup_mssql.yaml b/ansible/roles/adcs01/tasks/setup_mssql.yaml
new file mode 100644
index 0000000..325d946
--- /dev/null
+++ b/ansible/roles/adcs01/tasks/setup_mssql.yaml
@@ -0,0 +1,8 @@
+- name: execute setup-mssql.ps1
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-mssql.ps1
+ -DomainName "{{ main_domain_name }}"
+ -IISSvcUsername svc_iis01
+ -SQLSvcUsername svc_mssql02
+ -SvcPassword "{{ default_win_svc_password }}"
diff --git a/ansible/roles/dc01/tasks/populate_ad.yaml b/ansible/roles/dc01/tasks/populate_ad.yaml
index e65ab64..79cc715 100644
--- a/ansible/roles/dc01/tasks/populate_ad.yaml
+++ b/ansible/roles/dc01/tasks/populate_ad.yaml
@@ -1,7 +1,7 @@
- name: execute populate-ad.ps1
- ansible.windows.win_powershell:
- script: C:\scripts\populate-ad.ps1
- parameters:
- DomainName: "{{ main_domain_name }}"
- UserPassword: "{{ default_win_user_password }}"
- SvcPassword: "{{ default_win_svc_password }}"
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\populate-ad.ps1
+ -DomainName "{{ main_domain_name }}"
+ -UserPassword "{{ default_win_user_password }}"
+ -SvcPassword "{{ default_win_svc_password }}"
diff --git a/ansible/roles/dc01/tasks/setup_defender_gpo.yaml b/ansible/roles/dc01/tasks/setup_defender_gpo.yaml
index 56e7809..2210129 100644
--- a/ansible/roles/dc01/tasks/setup_defender_gpo.yaml
+++ b/ansible/roles/dc01/tasks/setup_defender_gpo.yaml
@@ -1,5 +1,8 @@
- name: execute setup-defender-gpo.ps1 as domain admin
- ansible.windows.win_command: powershell.exe -ExecutionPolicy Bypass -File C:\scripts\setup-defender-gpo.ps1 -DomainName "{{ main_domain_name }}"
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-defender-gpo.ps1
+ -DomainName "{{ main_domain_name }}"
become: yes
become_method: runas
become_user: "{{ main_domain_name }}\\Administrator"
diff --git a/ansible/roles/dc01/tasks/setup_domain.yaml b/ansible/roles/dc01/tasks/setup_domain.yaml
index 95c2066..ba6cedb 100644
--- a/ansible/roles/dc01/tasks/setup_domain.yaml
+++ b/ansible/roles/dc01/tasks/setup_domain.yaml
@@ -1,6 +1,6 @@
- name: execute setup-main-domain.ps1
- ansible.windows.win_powershell:
- script: C:\scripts\setup-main-domain.ps1
- parameters:
- DomainName: "{{ main_domain_name }}"
- SafeModePassword: "{{ default_win_safemode_password }}"
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-main-domain.ps1
+ -DomainName "{{ main_domain_name }}"
+ -SafeModePassword "{{ default_win_safemode_password }}"
diff --git a/ansible/roles/dc01/tasks/setup_gpo.yaml b/ansible/roles/dc01/tasks/setup_gpo.yaml
index fc44130..9b57d0e 100644
--- a/ansible/roles/dc01/tasks/setup_gpo.yaml
+++ b/ansible/roles/dc01/tasks/setup_gpo.yaml
@@ -1,5 +1,8 @@
- name: execute setup-gpo.ps1 as domain admin
- ansible.windows.win_command: powershell.exe -ExecutionPolicy Bypass -File C:\scripts\setup-gpo.ps1 -DomainName "{{ main_domain_name }}"
+ ansible.windows.win_shell:
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-gpo.ps1
+ -DomainName "{{ main_domain_name }}"
become: yes
become_method: runas
become_user: "{{ main_domain_name }}\\Administrator"
diff --git a/ansible/roles/mssql02/tasks/cleanup.yaml b/ansible/roles/dc02/tasks/cleanup.yaml
index 0e59407..0e59407 100644
--- a/ansible/roles/mssql02/tasks/cleanup.yaml
+++ b/ansible/roles/dc02/tasks/cleanup.yaml
diff --git a/ansible/roles/dc02/tasks/init.yaml b/ansible/roles/dc02/tasks/init.yaml
new file mode 100644
index 0000000..84b3c3e
--- /dev/null
+++ b/ansible/roles/dc02/tasks/init.yaml
@@ -0,0 +1,3 @@
+- name: execute init.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\init.ps1
diff --git a/ansible/roles/mssql02/tasks/install_software.yaml b/ansible/roles/dc02/tasks/install_software.yaml
index a5018a8..a5018a8 100644
--- a/ansible/roles/mssql02/tasks/install_software.yaml
+++ b/ansible/roles/dc02/tasks/install_software.yaml
diff --git a/ansible/roles/mssql02/tasks/main.yaml b/ansible/roles/dc02/tasks/main.yaml
index 3822369..8cdafa8 100644
--- a/ansible/roles/mssql02/tasks/main.yaml
+++ b/ansible/roles/dc02/tasks/main.yaml
@@ -14,18 +14,20 @@
- name: reboot after hostname change
import_tasks: reboot.yaml
-- name: join domain and reboot
- import_tasks: join_domain.yaml
+- name: execute setup-tree-domain.ps1
+ import_tasks: setup_tree_domain.yaml
-- name: execute setup-mssql.ps1
- import_tasks: setup_mssql.yaml
-
-- name: reboot after mssql setup
+- name: reboot after domain setup
import_tasks: reboot.yaml
-- name: pause 5 minutes for mssql setup to complete
- pause:
- minutes: 5
+- name: execute dc-wait-for-ready.ps1
+ import_tasks: wait_for_ready.yaml
+
+- name: execute setup-defender-gpo.ps1 as domain admin
+ import_tasks: setup_defender_gpo.yaml
+
+- name: reboot after gpo setup
+ import_tasks: reboot.yaml
- name: execute install-software.ps1
import_tasks: install_software.yaml
diff --git a/ansible/roles/mssql02/tasks/reboot.yaml b/ansible/roles/dc02/tasks/reboot.yaml
index a7266d0..f36b168 100644
--- a/ansible/roles/mssql02/tasks/reboot.yaml
+++ b/ansible/roles/dc02/tasks/reboot.yaml
@@ -1,3 +1,3 @@
- name: reboot
- win_reboot:
+ ansible.windows.win_reboot:
reboot_timeout: 3600
diff --git a/ansible/roles/dc02/tasks/set_hostname.yaml b/ansible/roles/dc02/tasks/set_hostname.yaml
new file mode 100644
index 0000000..d279485
--- /dev/null
+++ b/ansible/roles/dc02/tasks/set_hostname.yaml
@@ -0,0 +1,2 @@
+- name: set hostname
+ win_shell: Rename-Computer -NewName "{{ tree_dc02_hostname }}" -Force
diff --git a/ansible/roles/dc02/tasks/setup_defender_gpo.yaml b/ansible/roles/dc02/tasks/setup_defender_gpo.yaml
new file mode 100644
index 0000000..e871b81
--- /dev/null
+++ b/ansible/roles/dc02/tasks/setup_defender_gpo.yaml
@@ -0,0 +1,10 @@
+- name: execute setup-defender-gpo.ps1 as domain admin
+ ansible.windows.win_shell:
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-defender-gpo.ps1
+ -DomainName "{{ tree_domain_name }}"
+ become: yes
+ become_method: runas
+ become_user: "{{ tree_domain_name }}\\Administrator"
+ vars:
+ ansible_become_password: "{{ default_win_password }}"
diff --git a/ansible/roles/dc02/tasks/setup_tree_domain.yaml b/ansible/roles/dc02/tasks/setup_tree_domain.yaml
new file mode 100644
index 0000000..4a41c28
--- /dev/null
+++ b/ansible/roles/dc02/tasks/setup_tree_domain.yaml
@@ -0,0 +1,9 @@
+- name: execute setup-tree-domain.ps1
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-tree-domain.ps1
+ -ParentForestRootDomain "{{ main_domain_name }}"
+ -NewTreeDomainName "{{ tree_domain_name }}"
+ -SafeModePassword "{{ default_win_safemode_password }}"
+ -Username Administrator
+ -Password "{{ default_win_password }}"
diff --git a/ansible/roles/dc02/tasks/wait_for_ready.yaml b/ansible/roles/dc02/tasks/wait_for_ready.yaml
new file mode 100644
index 0000000..b077e07
--- /dev/null
+++ b/ansible/roles/dc02/tasks/wait_for_ready.yaml
@@ -0,0 +1,3 @@
+- name: execute dc-wait-for-ready.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\dc-wait-for-ready.ps1
diff --git a/ansible/roles/dc03/tasks/cleanup.yaml b/ansible/roles/dc03/tasks/cleanup.yaml
new file mode 100644
index 0000000..0e59407
--- /dev/null
+++ b/ansible/roles/dc03/tasks/cleanup.yaml
@@ -0,0 +1,3 @@
+- name: execute cleanup.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\cleanup.ps1
diff --git a/ansible/roles/dc03/tasks/init.yaml b/ansible/roles/dc03/tasks/init.yaml
new file mode 100644
index 0000000..84b3c3e
--- /dev/null
+++ b/ansible/roles/dc03/tasks/init.yaml
@@ -0,0 +1,3 @@
+- name: execute init.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\init.ps1
diff --git a/ansible/roles/dc03/tasks/install_software.yaml b/ansible/roles/dc03/tasks/install_software.yaml
new file mode 100644
index 0000000..a5018a8
--- /dev/null
+++ b/ansible/roles/dc03/tasks/install_software.yaml
@@ -0,0 +1,3 @@
+- name: execute install-software.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\install-software.ps1
diff --git a/ansible/roles/dc03/tasks/main.yaml b/ansible/roles/dc03/tasks/main.yaml
new file mode 100644
index 0000000..e487caf
--- /dev/null
+++ b/ansible/roles/dc03/tasks/main.yaml
@@ -0,0 +1,36 @@
+- name: wait for winrm to be available
+ ansible.builtin.wait_for:
+ host: "{{ ansible_host }}"
+ port: "{{ ansible_port }}"
+ timeout: 300
+ delegate_to: localhost
+
+- name: execute init.ps1
+ import_tasks: init.yaml
+
+- name: set hostname
+ import_tasks: set_hostname.yaml
+
+- name: reboot after hostname change
+ import_tasks: reboot.yaml
+
+- name: execute setup-child-domain.ps1
+ import_tasks: setup_child_domain.yaml
+
+- name: reboot after domain setup
+ import_tasks: reboot.yaml
+
+- name: execute dc-wait-for-ready.ps1
+ import_tasks: wait_for_ready.yaml
+
+- name: execute setup-defender-gpo.ps1 as domain admin
+ import_tasks: setup_defender_gpo.yaml
+
+- name: reboot after gpo setup
+ import_tasks: reboot.yaml
+
+- name: execute install-software.ps1
+ import_tasks: install_software.yaml
+
+- name: execute cleanup.ps1
+ import_tasks: cleanup.yaml
diff --git a/ansible/roles/dc03/tasks/reboot.yaml b/ansible/roles/dc03/tasks/reboot.yaml
new file mode 100644
index 0000000..f36b168
--- /dev/null
+++ b/ansible/roles/dc03/tasks/reboot.yaml
@@ -0,0 +1,3 @@
+- name: reboot
+ ansible.windows.win_reboot:
+ reboot_timeout: 3600
diff --git a/ansible/roles/dc03/tasks/set_hostname.yaml b/ansible/roles/dc03/tasks/set_hostname.yaml
new file mode 100644
index 0000000..9f697b7
--- /dev/null
+++ b/ansible/roles/dc03/tasks/set_hostname.yaml
@@ -0,0 +1,2 @@
+- name: set hostname
+ win_shell: Rename-Computer -NewName "{{ child_dc03_hostname }}" -Force
diff --git a/ansible/roles/dc03/tasks/setup_child_domain.yaml b/ansible/roles/dc03/tasks/setup_child_domain.yaml
new file mode 100644
index 0000000..3d8a970
--- /dev/null
+++ b/ansible/roles/dc03/tasks/setup_child_domain.yaml
@@ -0,0 +1,9 @@
+- name: execute setup-child-domain.ps1
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-child-domain.ps1
+ -ParentDomainName "{{ main_domain_name }}"
+ -ChildDOmainName "{{ child_domain_name }}"
+ -SafeModePassword "P4ssw0rd1234!"
+ -Username Administrator
+ -Password "{{ default_win_password }}"
diff --git a/ansible/roles/dc03/tasks/setup_defender_gpo.yaml b/ansible/roles/dc03/tasks/setup_defender_gpo.yaml
new file mode 100644
index 0000000..fe4d6de
--- /dev/null
+++ b/ansible/roles/dc03/tasks/setup_defender_gpo.yaml
@@ -0,0 +1,10 @@
+- name: execute setup-defender-gpo.ps1 as domain admin
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-defender-gpo.ps1
+ -DomainName "{{ child_domain_name }}"
+ become: yes
+ become_method: runas
+ become_user: "{{ child_domain_name }}\\Administrator"
+ vars:
+ ansible_become_password: "{{ default_win_password }}"
diff --git a/ansible/roles/dc03/tasks/wait_for_ready.yaml b/ansible/roles/dc03/tasks/wait_for_ready.yaml
new file mode 100644
index 0000000..b077e07
--- /dev/null
+++ b/ansible/roles/dc03/tasks/wait_for_ready.yaml
@@ -0,0 +1,3 @@
+- name: execute dc-wait-for-ready.ps1
+ ansible.windows.win_powershell:
+ script: C:\scripts\dc-wait-for-ready.ps1
diff --git a/ansible/roles/mssql02/tasks/init.yaml b/ansible/roles/mssql02/tasks/init.yaml
deleted file mode 100644
index a75d6cc..0000000
--- a/ansible/roles/mssql02/tasks/init.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-- name: execute init.ps1
- ansible.windows.win_powershell:
- script: C:\scripts\init.ps1
-
-- name: copy mssql installer
- ansible.builtin.copy:
- src: files/SQL2019-SSEI-Expr.exe
- dest: C:\setup\SQL2019-SSEI-Expr.exe
-
diff --git a/ansible/roles/mssql02/tasks/join_domain.yaml b/ansible/roles/mssql02/tasks/join_domain.yaml
deleted file mode 100644
index 6736ba2..0000000
--- a/ansible/roles/mssql02/tasks/join_domain.yaml
+++ /dev/null
@@ -1,13 +0,0 @@
-- name: join domain
- ansible.windows.win_domain_membership:
- dns_domain_name: "{{ main_domain_name }}"
- domain_admin_user: "{{ main_domain_name }}\\Administrator"
- domain_admin_password: "{{ default_win_password }}"
- state: domain
- register: domain_state
-
-- name: reboot
- win_reboot:
- reboot_timeout: 3600
- when: domain_state.reboot_required
-
diff --git a/ansible/roles/mssql02/tasks/set_hostname.yaml b/ansible/roles/mssql02/tasks/set_hostname.yaml
deleted file mode 100644
index ffea2ae..0000000
--- a/ansible/roles/mssql02/tasks/set_hostname.yaml
+++ /dev/null
@@ -1,2 +0,0 @@
-- name: set hostname
- win_shell: Rename-Computer -NewName "{{ main_mssql02_hostname }}" -Force
diff --git a/ansible/roles/mssql02/tasks/setup_mssql.yaml b/ansible/roles/mssql02/tasks/setup_mssql.yaml
deleted file mode 100644
index a219c82..0000000
--- a/ansible/roles/mssql02/tasks/setup_mssql.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-- name: execute setup-mssql.ps1
- ansible.windows.win_powershell:
- script: C:\scripts\setup-mssql.ps1
- parameters:
- DomainName: "{{ main_domain_name }}"
- SvcUsername: svc_mssql02
- SvcPassword: "{{ default_win_svc_password }}"
diff --git a/ansible/roles/websql01/tasks/setup_mssql_link.yaml b/ansible/roles/websql01/tasks/setup_mssql_link.yaml
index 1227d62..8e54ed8 100644
--- a/ansible/roles/websql01/tasks/setup_mssql_link.yaml
+++ b/ansible/roles/websql01/tasks/setup_mssql_link.yaml
@@ -1,5 +1,5 @@
- name: execute setup-mssql-link.ps1
- ansible.windows.win_powershell:
- script: C:\scripts\setup-mssql-link.ps1
- parameters:
- LinkServer: mssql02
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-mssql-link.ps1
+ -LinkServer "{{ main_adcs01_hostname }}"
diff --git a/ansible/roles/websql01/tasks/setup_websql.yaml b/ansible/roles/websql01/tasks/setup_websql.yaml
index 7e535d8..bb624b7 100644
--- a/ansible/roles/websql01/tasks/setup_websql.yaml
+++ b/ansible/roles/websql01/tasks/setup_websql.yaml
@@ -1,8 +1,8 @@
- name: setup websql
- ansible.windows.win_powershell:
- script: C:\scripts\setup-websql.ps1
- parameters:
- DomainName: "{{ main_domain_name }}"
- IISSvcUsername: svc_iis01
- SQLSvcUsername: svc_mssql01
- SvcPassword: "{{ default_win_svc_password }}"
+ ansible.windows.win_shell: >
+ powershell.exe -ExecutionPolicy Bypass
+ -File C:\scripts\setup-websql.ps1
+ -DomainName "{{ main_domain_name }}"
+ -IISSvcUsername svc_iis01
+ -SQLSvcUsername svc_mssql01
+ -SvcPassword "{{ default_win_svc_password }}"