dsclibrary/modules/MyDSCResources/xDC/xDC.DSC.Schema.psm1
<###################################################################################################
DSC Template Configuration File For use by LabBuilder .Title DC_FORESTPRIMARY .Desription Builds a Domain Controller as the first DC in a forest with the name of the Domain Name parameter passed. .Parameters: DomainName = 'LABBUILDER.COM' DomainAdminPassword = 'P@ssword!1' ###################################################################################################> Configuration DC { Param ( # Set the Domain Name [Parameter(Mandatory=$true,Position=1)] [System.String] $DomainName, # Set the Domain Controller Name [Parameter(Mandatory=$true)] [System.String] $DCName, # Local Administrator Credentials [Parameter(Mandatory=$true)] [System.String] $LocalAdminPassword, # Domain Administrator Credentials [Parameter(Mandatory=$true)] [System.String] $DomainAdminPassword, #OUs to Create [Parameter(Mandatory=$false)] [System.String] $OUName ) Import-DscResource -ModuleName PSDesiredStateConfiguration Import-DscResource -ModuleName ActiveDirectoryDsc -ModuleVersion 4.1.0.0 Import-DscResource -ModuleName xDNSServer -ModuleVersion 1.16.0.0 # Assemble the Local Admin Credentials if ($LocalAdminPassword) { $LocalAdminCredential = New-Object ` -TypeName System.Management.Automation.PSCredential ` -ArgumentList ('Administrator', (ConvertTo-SecureString $LocalAdminPassword -AsPlainText -Force)) } if ($DomainAdminPassword) { $DomainAdminCredential = New-Object ` -TypeName System.Management.Automation.PSCredential ` -ArgumentList ('Administrator', (ConvertTo-SecureString $DomainAdminPassword -AsPlainText -Force)) } WindowsFeature BackupInstall { Ensure = 'Present' Name = 'Windows-Server-Backup' } WindowsFeature DNSInstall { Ensure = 'Present' Name = 'DNS' } WindowsFeature ADDSInstall { Ensure = 'Present' Name = 'AD-Domain-Services' DependsOn = '[WindowsFeature]DNSInstall' } WindowsFeature RSAT-AD-PowerShellInstall { Ensure = 'Present' Name = 'RSAT-AD-PowerShell' DependsOn = '[WindowsFeature]ADDSInstall' } ADDomain ADDomainCreateDC { DomainName = $DomainName Credential = $DomainAdminCredential SafemodeAdministratorPassword = $LocalAdminCredential DependsOn = '[WindowsFeature]ADDSInstall' } WaitForADDomain DscDomainWait { DomainName = $Node.ParentDomainName Credential = $DomainAdminCredential WaitTimeout = 300 RestartCount = 5 DependsOn = '[WindowsFeature]ADDSInstall' } ADOrganizationalUnit NewOU { Name = $OUName Path = $OUPath ProtectedFromAccidentalDeletion = $true Description = $OUDescription Ensure = 'Present' DependsOn = '[WaitForADDomain]DscDomainWait' } } |