diff options
Diffstat (limited to 'ansible/roles')
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 }}" |