diff --git a/ansible/playbooks/win_wsus.yml b/ansible/playbooks/win_wsus.yml new file mode 100644 index 0000000..165b104 --- /dev/null +++ b/ansible/playbooks/win_wsus.yml @@ -0,0 +1,9 @@ +--- +- hosts: "meta-variant_wsus_server" + gather_facts: false + vars_files: + - ../vars/common.yml + - ../vars/connection.yml + roles: + - role: win_wsus + tags: win_wsus \ No newline at end of file diff --git a/ansible/roles/win_wsus/tasks/disk.yml b/ansible/roles/win_wsus/tasks/disk.yml new file mode 100644 index 0000000..55344b5 --- /dev/null +++ b/ansible/roles/win_wsus/tasks/disk.yml @@ -0,0 +1,20 @@ +--- +- name: WSUS disk + tags: wsus_disk + block: + - name: Initialise WSUS disk + win_initialize_disk: + disk_number: 1 + + - name: Partition WSUS disk + win_partition: + drive_letter: "{{ wsus_drive_letter }}" + disk_number: 1 + partition_size: -1 + state: present + + - name: Create NTFS filesystem on WSUS disk + win_format: + drive_letter: "{{ wsus_drive_letter }}" + file_system: NTFS + new_label: "{{ wsus_volume_label }}" \ No newline at end of file diff --git a/ansible/roles/win_wsus/tasks/features.yml b/ansible/roles/win_wsus/tasks/features.yml new file mode 100644 index 0000000..4d07963 --- /dev/null +++ b/ansible/roles/win_wsus/tasks/features.yml @@ -0,0 +1,33 @@ +--- +- name: WSUS Features + tags: wsus_features + block: + - name: Install WSUS features + win_feature: + name: + - UpdateServices-WidDB + - UpdateServices-Services + - UpdateServices-API + - UpdateServices-UI + state: present + inlcude_management_tools: True + register: feature_status + + - name: Rebooting Servers post feature installation + win_reboot: + reboot_timeout_sec: 1200 + when: feature_status.reboot_required == true + +- name: WSUS Powershell + tags: wsus_powershell + block: + - name: Install NuGet packageprovider (requirement for xDFS DSC module installation) + ansible.windows.win_powershell: + script: | + Find-PackageProvider -Name Nuget -ForceBootstrap -IncludeDependencies -Force + + - name: Install UpdateServices DSC module + win_psmodule: + name: UpdateServicesDsc + state: Present + accept_license: true \ No newline at end of file diff --git a/ansible/roles/win_wsus/tasks/main.yml b/ansible/roles/win_wsus/tasks/main.yml new file mode 100644 index 0000000..a64aa15 --- /dev/null +++ b/ansible/roles/win_wsus/tasks/main.yml @@ -0,0 +1,3 @@ +--- +- import_tasks: disk.yml +- import_tasks: features.yml \ No newline at end of file diff --git a/ansible/roles/win_wsus/vars/main.yml b/ansible/roles/win_wsus/vars/main.yml new file mode 100644 index 0000000..e6b72d1 --- /dev/null +++ b/ansible/roles/win_wsus/vars/main.yml @@ -0,0 +1,2 @@ +wsus_drive_letter: W +wsus_volume_label: WSUS \ No newline at end of file