From 28b6ae7444e0602f4963ffbddb014fcaebb21377 Mon Sep 17 00:00:00 2001 From: djpbessems Date: Fri, 12 Feb 2021 16:44:39 +0100 Subject: [PATCH] Add payload Server2019;Add intermediate template --- packer/windowsserver2019.json | 100 ++++++++++++++++++++++++++++++++-- 1 file changed, 95 insertions(+), 5 deletions(-) diff --git a/packer/windowsserver2019.json b/packer/windowsserver2019.json index eb3e9e2..396c013 100644 --- a/packer/windowsserver2019.json +++ b/packer/windowsserver2019.json @@ -2,14 +2,81 @@ "builders": [ { "type": "vsphere-iso", - "name": "srv2019", + "name": "srv2019-t", "vcenter_server": "{{user `vcenter_server`}}", "username": "{{user `vsphere_username`}}", "password": "{{user `vsphere_password`}}", "insecure_connection": "true", - "vm_name": "{{user `vm_guestos`}}-{{user `vm_name`}}", + "vm_name": "{{user `vm_guestos`}}-{{user `vm_name`}}-t", + "datastore": "{{user `vsphere_datastore`}}", + "folder": "{{user `vsphere_folder`}}", + "datacenter": "{{user `vsphere_datacenter`}}", + "host": "{{user `vsphere_host`}}", + "boot_order": "disk,cdrom", + + "guest_os_type": "windows9Server64Guest", + + "communicator": "winrm", + "winrm_username": "administrator", + "winrm_password": "{{user `winrm_password`}}", + "winrm_timeout": "10m", + + "cpus": 2, + "RAM": 8192, + + "network_adapters": [ + { + "network": "{{user `vsphere_network`}}", + "network_card": "vmxnet3" + } + ], + "storage": [ + { + "disk_size": 20480, + "disk_thin_provisioned": true + } + ], + "disk_controller_type": "lsilogic-sas", + "usb_controller": "xhci", + + "iso_url": "https://{{user `repo_username`}}:{{user `repo_password`}}@sn.itch.fyi/Repository/iso/Microsoft/Windows%20Server%202019/LTSC/en_windows_server_2019_x64_dvd_4cb967d8.iso", + "iso_checksum": "sha256:4c5dd63efee50117986a2e38d4b3a3fbaf3c1c15e2e7ea1d23ef9d8af148dd2d", + "iso_paths": [ + "ISO-files/VMware-tools-windows-11.2.1-17243207/VMware-tools-windows-11.2.1-17243207.iso" + ], + "remove_cdrom": true, + + "floppy_files": [ + "packer/preseed/Server2019/Autounattend.xml", + "packer/preseed/Server2019/Sysprep_Unattend.xml", + "scripts/Set-NetworkProfile.ps1", + "scripts/Disable-WinRM.ps1", + "scripts/Enable-WinRM.ps1", + "scripts/Install-VMwareTools.cmd" + ], + + "boot_command": "", + "boot_wait": "5m", + + "shutdown_command": "C:\\Windows\\System32\\Sysprep\\sysprep.exe /generalize /oobe /unattend:A:\\Sysprep_Unattend.xml", + "shutdown_timeout": "1h", + + "export": { + "images": false + } + }, + { + "type": "vsphere-iso", + "name": "srv2019-v", + + "vcenter_server": "{{user `vcenter_server`}}", + "username": "{{user `vsphere_username`}}", + "password": "{{user `vsphere_password`}}", + "insecure_connection": "true", + + "vm_name": "{{user `vm_guestos`}}-{{user `vm_name`}}-v", "datastore": "{{user `vsphere_datastore`}}", "folder": "{{user `vsphere_folder`}}", "datacenter": "{{user `vsphere_datacenter`}}", @@ -91,10 +158,31 @@ }, { "type": "windows-update" + }, + { + "only": ["srv2019-v"], + "type": "powershell", + "inline": [ + "New-Item -Path 'C:\\Payload\\Scripts' -ItemType 'Directory' -Force:$True -Confirm:$False" + ] + }, + { + "only": ["srv2019-v"], + "type": "file", + "source": "scripts/Server2019/payload/", + "destination": "C:\\Payload\\" + }, + { + "only": ["srv2019-v"], + "type": "powershell", + "scripts": [ + "scripts/ADDS/Register-ScheduledTask.ps1" + ] } ], "post-processors": [[ { + "only": ["srv2019-t"], "type": "vsphere", "host": "{{user `vcenter_server`}}", "username": "{{user `vsphere_username`}}", @@ -111,6 +199,7 @@ "keep_input_artifact": true }, { + "only": ["srv2019-t"], "type": "vsphere-template", "host": "{{user `vcenter_server`}}", "username": "{{user `vsphere_username`}}", @@ -123,15 +212,16 @@ ], [ { + "only": ["srv2019-v"], "type": "shell-local", "inline": [ "pwsh -command \"& scripts/Update-OvfConfiguration.ps1 \\", - " -OVFFile './output-srv2019/{{user `vm_guestos`}}-{{user `vm_name`}}.ovf' \\", + " -OVFFile './output-srv2019-v/{{user `vm_guestos`}}-{{user `vm_name`}}.ovf' \\", " -Parameter @{'appliance.name'='{{user `vm_guestos`}}';'appliance.version'='{{user `vm_name`}}'}\"", "pwsh -file scripts/Update-Manifest.ps1 \\", - " -ManifestFileName './output-srv2019/{{user `vm_guestos`}}-{{user `vm_name`}}.mf'", + " -ManifestFileName './output-srv2019-v/{{user `vm_guestos`}}-{{user `vm_name`}}.mf'", "ovftool --acceptAllEulas --allowExtraConfig --overwrite \\", - " './output-srv2019/{{user `vm_guestos`}}-{{user `vm_name`}}.ovf' \\", + " './output-srv2019-v/{{user `vm_guestos`}}-{{user `vm_name`}}.ovf' \\", " /output/Windows-Server-2019-LTSC.ova" ] }