summaryrefslogtreecommitdiff
path: root/ansible/scripts/setup-main-domain.ps1
diff options
context:
space:
mode:
Diffstat (limited to 'ansible/scripts/setup-main-domain.ps1')
-rw-r--r--ansible/scripts/setup-main-domain.ps145
1 files changed, 45 insertions, 0 deletions
diff --git a/ansible/scripts/setup-main-domain.ps1 b/ansible/scripts/setup-main-domain.ps1
new file mode 100644
index 0000000..75500ab
--- /dev/null
+++ b/ansible/scripts/setup-main-domain.ps1
@@ -0,0 +1,45 @@
+param
+(
+ [string]$DomainName = "contoso.com",
+ [string]$FunctionalLevel = "WinThreshold",
+ [string]$SafeModePassword = "P4ssw0rd1234!"
+)
+$scriptName = $MyInvocation.MyCommand.Name
+$logFile = "C:\Logs\${scriptName}_log.txt"
+Start-Transcript -Path $logFile -Append
+
+$NetBiosName = $DomainName.Split(".")[0].ToUpper()
+
+Write-Host "[INFO] Setting Administrator password"
+$computerName = $env:COMPUTERNAME
+$adminPassword = "packer"
+$adminUser = [ADSI] "WinNT://$computerName/Administrator,User"
+$adminUser.SetPassword($adminPassword)
+
+Write-Host "[INFO] Installing Ad-Domain-Services Windows feature + subfeatures"
+Install-WindowsFeature AD-Domain-Services -IncludeAllSubFeature -IncludeManagementTools
+
+Write-Host "[INFO] Importing ADDSDeployment module"
+Import-Module ADDSDeployment
+
+try {
+ Write-Host "[INFO] Installing ADDSForest"
+ Install-ADDSForest `
+ -InstallDns `
+ -CreateDnsDelegation:$false `
+ -ForestMode $FunctionalLevel `
+ -DomainMode $FunctionalLevel `
+ -DomainName $DomainName `
+ -DomainNetbiosName $NetBiosName `
+ -DatabasePath "C:\Windows\NTDS" `
+ -LogPath "C:\Windows\NTDS" `
+ -SysvolPath "C:\Windows\SYSVOL" `
+ -NoRebootOnCompletion `
+ -Force `
+ -SafeModeAdministratorPassword (ConvertTo-SecureString -AsPlainText -Force "$SafeModePassword")
+ Write-Host "[INFO] Created Active Directory domain for $DomainName"
+} catch {
+ Write-Host "[ERR] Failed to create Active Directory domain for $DomainName"
+ Write-Host $_.Exception.Message
+}
+Stop-Transcript