# Packer.Images [![Build Status](https://ci.spamasaurus.com/api/badges/djpbessems/Packer.Images/status.svg?ref=refs/heads/ADDS)](https://ci.spamasaurus.com/djpbessems/Packer.Images) This OVA appliance allows deploying an Active Directory Domain Controller fully automated: When **provisioning** the appliance through the vCenter 'Deploy OVF template...' wizard, or through vApp-compatible *Infrastructure as code* tooling (e.g. HashiCorp Terraform), it is possible to provide all relevant configuration through vApp properties.
vSphere 'Deploy OVF template...' wizard HashiCorp Terraform vSphere provider
vApp properties ```hcl vapp { properties = { "guestinfo.hostname" = "DC01" "guestinfo.ipaddress" = "10.0.0.21" "guestinfo.prefixlength" = "24" "guestinfo.dnsserver" = "0.0.0.0" "guestinfo.gateway" = "10.0.0.1" "addsconfig.domainname" = "contoso.com" "addsconfig.netbiosname" = "CONTOSO" "addsconfig.administratorpw" = var.adds_adminpassword "addsconfig.safemodepw" = var.adds_safemodepassword "addsconfig.ntpserver" = "0.pool.ntp.org,1.pool.ntp.org,2.pool.ntp.org" "dhcpconfig.startip" = "10.0.0.50" "dhcpconfig.endip" = "10.0.0.250" "dhcpconfig.subnetmask" = "255.255.255.0" "dhcpconfig.gateway" = "10.0.0.1" "dhcpconfig.leaseduration" = "01:00:00.00" } } ```
On first boot, the appliance will start **configuring** itself without any further user-input, by performing the following steps: - Change hostname - Configure network - Set password for local administrator - Promote to Domain Controller - Iterate through all payload scripts: - Create Active Directory Organizational Units - Create Active Directory security groups - Create Active Directory user accounts - Set up Delegation of Control - Configure Active Directory Group Policy Objects with Windows Firewall settings - Configure DHCP (scopes, options and Failover relationship) - Create DNS records - Define Active Directory Group Policy WMI Filters - Define and link Active Directory Group Policy Objects and Preferences - Set Active Directory Default domain Password policy