From 6ec2eb61a02f9e55ef5b8d22a5ca61ca53ca05e7 Mon Sep 17 00:00:00 2001 From: heqnx Date: Fri, 11 Jul 2025 21:55:20 +0300 Subject: added initial setup for domain controller --- ansible/scripts/setup-main-domain.ps1 | 45 +++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 ansible/scripts/setup-main-domain.ps1 (limited to 'ansible/scripts/setup-main-domain.ps1') 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 -- cgit v1.2.3