- template.tpl
Install-WindowsFeature -Name GPMC,RSAT-AD-PowerShell,RSAT-AD-AdminCenter,RSAT-ADDS-Tools,RSAT-DNS-Server
New-ADOrganizationalUnit -Name "${container_OU}" -Path "${base_path_AD}"
New-ADGroup -Name "${admin_vpn_group}" -SamAccountName ${admin_vpn_group} -GroupCategory Security -GroupScope Global -DisplayName ${admin_vpn_group} -Path "${vpn_OU_AD}${base_path_AD}"
$Attributes = @{
Enabled = $true
ChangePasswordAtLogon = $false
Name = "${user}"
AccountPassword = "${password}" | ConvertTo-SecureString -AsPlainText -Force
}
New-ADUser @Attributes
data "template_file" "vm_adwriter" {
template = "${file("templates/aws_instance.vm_adwriter.tpl")}"
vars {
container_OU = "VPNGroups"
base_path_AD = "OU=myapp,DC=myapp,DC=com"
admin_vpn_group = "VPNAdmins"
vpn_OU_AD = "OU=VPNGroups,"
user = "FirstUser",
password = "Password123"
}
}
...
user_data = ${data.template_file.vm_adwriter.rendered}
...