summaryrefslogtreecommitdiff
path: root/ansible/scripts/setup-child-domain.ps1
diff options
context:
space:
mode:
authorheqnx <root@heqnx.com>2025-07-11 21:55:20 +0300
committerheqnx <root@heqnx.com>2025-07-11 21:55:20 +0300
commit6ec2eb61a02f9e55ef5b8d22a5ca61ca53ca05e7 (patch)
treed975569e35991a02c73706ce81c0fc1f2e92405c /ansible/scripts/setup-child-domain.ps1
parent742fa0d51cd384ea3d856438861bb86738fdabb8 (diff)
downloadansible-active-directory-range-6ec2eb61a02f9e55ef5b8d22a5ca61ca53ca05e7.tar.gz
ansible-active-directory-range-6ec2eb61a02f9e55ef5b8d22a5ca61ca53ca05e7.zip
added initial setup for domain controller
Diffstat (limited to 'ansible/scripts/setup-child-domain.ps1')
-rw-r--r--ansible/scripts/setup-child-domain.ps150
1 files changed, 50 insertions, 0 deletions
diff --git a/ansible/scripts/setup-child-domain.ps1 b/ansible/scripts/setup-child-domain.ps1
new file mode 100644
index 0000000..ad23d45
--- /dev/null
+++ b/ansible/scripts/setup-child-domain.ps1
@@ -0,0 +1,50 @@
+param
+(
+ [string]$ParentDomainName = "contoso.com",
+ [string]$ChildDomainName = "dev",
+ [string]$SafeModePassword = "P4ssw0rd1234!",
+ [string]$Username = "Administrator",
+ [string]$Password = "packer"
+)
+
+$scriptName = $MyInvocation.MyCommand.Name
+$logFile = "C:\Logs\${scriptName}_log.txt"
+Start-Transcript -Path $logFile -Append
+
+$p = ConvertTo-SecureString $Password -AsPlainText -Force
+$c = New-Object System.Management.Automation.PSCredential("$ParentDomainName\$Username", $p)
+
+Write-Host "[INFO] Setting Administrator password"
+$computerName = $env:COMPUTERNAME
+$adminPassword = $Password
+$adminUser = [ADSI] "WinNT://$computerName/Administrator,User"
+$adminUser.SetPassword($adminPassword)
+
+Write-Host "[INFO] Installing AD-Domain-Services feature"
+Install-WindowsFeature AD-Domain-Services -IncludeAllSubFeature -IncludeManagementTools
+
+Write-Host "[INFO] Importing ADDSDeployment module"
+Import-Module ADDSDeployment
+
+try {
+ Write-Host "[INFO] Installing New Child Domain in Existing Forest"
+ Install-ADDSDomain `
+ -InstallDns `
+ -ParentDomainName $ParentDomainName `
+ -NewDomainName $ChildDomainName `
+ -DomainType ChildDomain `
+ -DatabasePath "C:\Windows\NTDS" `
+ -LogPath "C:\Windows\NTDS" `
+ -SysvolPath "C:\Windows\SYSVOL" `
+ -NoRebootOnCompletion `
+ -Force `
+ -Credential $c `
+ -SafeModeAdministratorPassword (ConvertTo-SecureString -AsPlainText -Force "$SafeModePassword")
+
+ Write-Host "[INFO] Successfully added new child domain: $ChildDomainName"
+} catch {
+ Write-Host "[ERR] Failed to add new child domain: $ChildDomainName"
+ Write-Host $_.Exception.Message
+}
+
+Stop-Transcript