2021-01-27 20:31:30 +00:00
# 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)
2021-01-23 15:04:42 +00:00
2021-01-28 13:31:51 +00:00
This OVA appliance allows deploying an Active Directory Domain Controller fully automated:
2021-01-28 15:17:08 +00:00
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.
< table >
< tr >
< td > < em > vSphere 'Deploy OVF template...' wizard< / em > < / td > < td > < a href = "https://registry.terraform.io/providers/hashicorp/vsphere/latest/docs/resources/virtual_machine#deploying-vm-from-an-ovfova-template" > HashiCorp Terraform vSphere provider< / a > < / td >
< / tr >
< tr >
< td > < img src = ".assets/vAppProperties-example.png" alt = "vApp properties" width = "400" / > < / td >
< td >
```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" = "{{user `adds_administratorpw` }}"
"addsconfig.safemodepw" = "{{user `adds_safemodepw` }}"
"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"
}
}
```
< / td >
< / tr >
< / table >
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