blob: 75500ab07b47185f6284281a886d59bdcb504004 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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
|