application-workloads/active-directory/active-directory-new-domain-ha-2-dc-zones/DSC/ConfigureADBDC.ps1 (61 lines of code) (raw):
configuration ConfigureADBDC
{
param
(
[Parameter(Mandatory)]
[String]$DomainName,
[Parameter(Mandatory)]
[System.Management.Automation.PSCredential]$Admincreds,
[Int]$RetryCount=20,
[Int]$RetryIntervalSec=30
)
Import-DscResource -ModuleName xActiveDirectory, xPendingReboot
[System.Management.Automation.PSCredential ]$DomainCreds = New-Object System.Management.Automation.PSCredential ("${DomainName}\$($Admincreds.UserName)", $Admincreds.Password)
Node localhost
{
LocalConfigurationManager
{
RebootNodeIfNeeded = $true
}
xWaitForADDomain DscForestWait
{
DomainName = $DomainName
DomainUserCredential= $DomainCreds
RetryCount = $RetryCount
RetryIntervalSec = $RetryIntervalSec
}
xADDomainController BDC
{
DomainName = $DomainName
DomainAdministratorCredential = $DomainCreds
SafemodeAdministratorPassword = $DomainCreds
DatabasePath = "F:\NTDS"
LogPath = "F:\NTDS"
SysvolPath = "F:\SYSVOL"
DependsOn = "[xWaitForADDomain]DscForestWait"
}
<#
Script UpdateDNSForwarder
{
SetScript =
{
Write-Verbose -Verbose "Getting DNS forwarding rule..."
$dnsFwdRule = Get-DnsServerForwarder -Verbose
if ($dnsFwdRule)
{
Write-Verbose -Verbose "Removing DNS forwarding rule"
Remove-DnsServerForwarder -IPAddress $dnsFwdRule.IPAddress -Force -Verbose
}
Write-Verbose -Verbose "End of UpdateDNSForwarder script..."
}
GetScript = { @{} }
TestScript = { $false}
DependsOn = "[xADDomainController]BDC"
}
#>
xPendingReboot RebootAfterPromotion {
Name = "RebootAfterDCPromotion"
DependsOn = "[xADDomainController]BDC"
}
}
}