Build a new DC and Forest with WMF 5

Hello - I am trying to build out a new domain using WMF 5 DSC and failing. Most of the errors that I am getting are about resources not existiing (IE: xADdomain) which if I import it finds that. But now I am getting that it can’t find createforest.

#IMPORT REQUIRED MODULES Import-Module xPSDesiredStateConfiguration Import-Module xActiveDirectory

configuration DCSERVER {
Node $computername {

WindowsFeature ActiveDirectory {

                Name = 'AD-Domain-Services'
                Ensure = 'Present'

            }

            WindowsFeature RSAT-AD-Tools {

                Name = 'RSAT-AD-Tools'
                Ensure = 'Present'

            }

            WindowsFeature RSAT-ADDS {

                Name = 'RSAT-ADDS'
                Ensure = 'Present'

            }

            WindowsFeature RSAT-AD-AdminCenter {

                Name = 'RSAT-AD-AdminCenter'
                Ensure = 'Present'

            }

            WindowsFeature RSAT-ADDS-Tools {

                Name = 'RSAT-ADDS-Tools'
                Ensure = 'Present'

            }

            xADDomain CreateForest {

                DomainName = $Node.DomainName
                DomainAdministratorCredential = 
                SafeModeAdministratorPassword = 
                DatabasePath = $Node.AD_DB_Path
                LogPath = $Node.AD_Log_Path
                SysvolPath = $Node.AD_SysVol_Path
                DependsOn = '[WindowsFeature]ActiveDirectory'

            }


        }

}

$computername = ‘localhost’
DCSERVER -OutputPath c:\DSC\Config

These are the error I am getting

PS C:\Users\Administrator\Documents> C:\Users\Administrator\Documents\DCDSC.ps1
PSDesiredStateConfiguration\Node : The term ‘xActiveDirectory\xADDomain’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the
name, or if a path was included, verify that the path is correct and try again.
At C:\Users\Administrator\Documents\DCDSC.ps1:11 char:5

  • Node $computername {
    
  • ~~~~
    
    • CategoryInfo : ObjectNotFound: (xActiveDirectory\xADDomain:String) [PSDesiredStateConfiguration\node], ParentContainsErrorRecordException
    • FullyQualifiedErrorId : CommandNotFoundException,PSDesiredStateConfiguration\node

WARNING: The configuration ‘DCSERVER’ is loading one or more built-in resources without explicitly importing associated modules. Add Import-DscResource –ModuleName 'PSDesiredStateConfiguration
’ to your configuration to avoid this message.
Errors occurred while processing configuration ‘DCSERVER’.
At C:\Windows\system32\WindowsPowerShell\v1.0\Modules\PSDesiredStateConfiguration\PSDesiredStateConfiguration.psm1:3483 char:5

  • throw $ErrorRecord
    
  • ~~~~~~~~~~~~~~~~~~
    
    • CategoryInfo : InvalidOperation: (DCSERVER:String) , InvalidOperationException
    • FullyQualifiedErrorId : FailToProcessConfiguration

Import-Module does not work here. Microsoft has created a new cmdlet Import-DscResource which only works within a Configuration block. I have refactored your Configuration script to put you back on the right path.

Configuration DCSERVER {
    
    Param (

        [Parameter(Mandatory)]
        [PSCredential]
        $DomainAdministratorCredential,

        [Parameter(Mandatory)]
        [PSCredential]
        $SafeModeAdministratorPassword
    )

    # Import DSC resource modules
    Import-DscResource -ModuleName xPSDesiredStateConfiguration
    Import-DscResource -ModuleName xActiveDirectory

    Node $AllNodes.Where{$_.Role -eq 'DomainController'}.NodeName {

        WindowsFeature ActiveDirectory {
            Name = 'AD-Domain-Services'
            Ensure = 'Present'
        }

        WindowsFeature RSAT-AD-Tools {
            Name = 'RSAT-AD-Tools'
            Ensure = 'Present'
        }

        WindowsFeature RSAT-ADDS {
            Name = 'RSAT-ADDS'
            Ensure = 'Present'
        }

        WindowsFeature RSAT-AD-AdminCenter {
            Name = 'RSAT-AD-AdminCenter'
            Ensure = 'Present'
        }

        WindowsFeature RSAT-ADDS-Tools {
            Name = 'RSAT-ADDS-Tools'
            Ensure = 'Present'
        }

        xADDomain CreateForest {
            DomainName = $Node.DomainName
            DomainAdministratorCredential = $DomainAdministratorCredential
            SafeModeAdministratorPassword = $SafeModeAdministratorPassword
            DatabasePath = $Node.AD_DB_Path
            LogPath = $Node.AD_Log_Path
            SysvolPath = $Node.AD_SysVol_Path
            DependsOn = '[WindowsFeature]ActiveDirectory'
        }
    }
}

$ConfigurationData = @{

    AllNodes = @(
        @{
            NodeName = 'DC01'
            Role = 'DomainController'
            DomainName = 'company.pri'
            AD_DB_Path = 'C:\Windows\NTDS'
            AD_Log_Path = 'C:\Windows\NTDS'
            AD_SysVol_Path = 'C:\Windows\SYSVOL'
        }
    )
}

$MyDomainAdministratorCredential = Get-Credential -UserName 'DOMAIN\AdminUser'
$MySafeModeAdministratorPassword = Get-Credential -UserName 'Administrator'

DCSERVER -OutputPath c:\DSC\Config -ConfigurationData $ConfigurationData -DomainAdministratorCredential $MyDomainAdministratorCredential -SafeModeAdministratorPassword $MySafeModeAdministratorPassword