New-ADDCCloneConfigFile

New-ADDCCloneConfigFile

Performs prerequisite checks for cloning a domain controller and generates a clone configuration file if all checks succeed.

Syntax

Parameter Set: IPv4DynamicSettings
New-ADDCCloneConfigFile [-CloneComputerName <String> ] [-IPv4DNSResolver <String[]> ] [-Path <String> ] [-SiteName <String> ] [ <CommonParameters>]

Parameter Set: IPv4StaticSettings
New-ADDCCloneConfigFile -IPv4Address <String> -IPv4DNSResolver <String[]> -IPv4SubnetMask <String> -Static [-AlternateWINSServer <String> ] [-CloneComputerName <String> ] [-IPv4DefaultGateway <String> ] [-Path <String> ] [-PreferredWINSServer <String> ] [-SiteName <String> ] [ <CommonParameters>]

Parameter Set: IPv6DynamicSettings
New-ADDCCloneConfigFile [-CloneComputerName <String> ] [-IPv6DNSResolver <String[]> ] [-Path <String> ] [-SiteName <String> ] [ <CommonParameters>]

Parameter Set: IPv6StaticSettings
New-ADDCCloneConfigFile -IPv6DNSResolver <String[]> -Static [-CloneComputerName <String> ] [-Path <String> ] [-SiteName <String> ] [ <CommonParameters>]

Parameter Set: OfflineExecution
New-ADDCCloneConfigFile -Offline -Path <String> [-AlternateWINSServer <String> ] [-CloneComputerName <String> ] [-IPv4Address <String> ] [-IPv4DefaultGateway <String> ] [-IPv4DNSResolver <String[]> ] [-IPv4SubnetMask <String> ] [-IPv6DNSResolver <String[]> ] [-PreferredWINSServer <String> ] [-SiteName <String> ] [-Static] [ <CommonParameters>]

Detailed Description

The New-DCCloneConfigFile cmdlet performs prerequisite checks for cloning a domain controller (DC) when run locally on the DC being prepared for cloning. This cmdlet generates a clone configuration file, DCCloneConfig.xml, at an appropriate location, if all prerequisite checks succeed.

There are two mode of operation for this cmdlet, depending on where it is executed. When run on the domain controller that is being prepared for cloning, it will run the following pre-requisite checks to make sure this DC is adequately prepared for cloning:

(1) Is the PDC emulator FSMO role hosted on a DC running Windows Server 2012?
(2) Is this computer authorized for DC cloning (i.e. is the computer a member of the Cloneable Domain Controllers group)?
(3) Are all program and services listed in the output of the Get-ADDCCloningExcludedApplicationList cmdlet captured in CustomDCCloneAllowList.xml?

If these pre-requisite checks all pass, the New-DCCloneConfigFile cmdlet will generate a DCCloneConfig.xml file at a suitable location based on the parameter values supplied. This cmdlet can also be run from a client (with RSAT) and used to generate a DCCloneConfig.xml against offline media of the DC being cloned, however, none of the pre-requisite checks will be performed in this usage mode. This usage is intended to generate DCCloneConfig.xml files with specific configuration values for each clone on copies of the offline media.

Parameters

-AlternateWINSServer<String>

Specifies the name of the alternate Windows Internet Naming Service (WINS) server for the cloned DC to use if the preferred WINS Server is not available.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CloneComputerName<String>

Specifies the computer name for the cloned DC. If this parameter is not specified as a unique name within the enterprise of 15 characters or less, the following formula is used to programmatically generate a name:

(1) The first 8 characters of the source DC computer name. For example, a source computer name of "SourceComputer" is truncated to a prefix string of "SourceCo".
(2) A unique naming suffix of the format "–CLnnnn" is appended to the prefix string where nnnn is the next available value from 0001-9999 that the PDC determines is not currently in use. For example, if 0047 is the next available number within the allowed range, using the above source computer prefix of "SourceCo" the derived name to use for the clone computer will be SourceCo-CL0047.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv4Address<String>

Specifies the Internet Protocol version 4 (IPv4) address to be assigned to the cloned DC.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv4DefaultGateway<String>

Specifies the Internet Protocol version 4 (IPv4) address for the default gateway to be used by the cloned DC.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv4DNSResolver<String[]>

Specifies the Internet Protocol version 4 (IPv4) address for the DNS server to be used by the cloned DC to resolve names. A maximum of 4 string values can be provided.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv4SubnetMask<String>

Specifies the Internet Protocol version 4 (IPv4) subnet mask to use for the subnet where the cloned DC is to be located.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-IPv6DNSResolver<String[]>

Specifies the Internet Protocol version 6 (IPv6) address for the DNS server to be used by the cloned DC to resolve names.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Offline

Indicates whether the cmdlet is being run against an offline media or on the DC being prepared for cloning.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Path<String>

Specifies the folder path to use when writing the clone configuration file. If the cmdlet is run and all prerequisite checks succeed, a DCCloneConfig.xml file will be written and appear in this location as output. The Path parameter is optional when running the cmdlet on the DC being prepared for cloning. In this case, the default location of the DIT folder will be used and this parameter does not need to be specified. When running the New-DCCLoneConfigFile cmdlet in offline mode (i.e. when the Offline parameter is specified), however, the Path parameter is required.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-PreferredWINSServer<String>

Specifies the name of the primary Windows Internet Naming Service (WINS) server to use as the preferred WINS Server for the cloned DC.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SiteName<String>

Specifies the name of the Active Directory site in which to place the cloned DC.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Static

Indicates whether the TCP/IP configuration specified for the cloned DC is static or dynamic IP configuration.

Aliases

none

Required?

true

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

<CommonParameters>

This cmdlet supports the common parameters: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, and -OutVariable. For more information, see    about_CommonParameters (https://go.microsoft.com/fwlink/p/?LinkID=113216).

Inputs

The input type is the type of the objects that you can pipe to the cmdlet.

  • None

Outputs

The output type is the type of the objects that the cmdlet emits.

  • None

Examples

-------------------------- EXAMPLE 1 --------------------------

Creates a clone domain controller named VirtualDC2 with a static IPv4 address.

PS C:\> New-ADDCCloneConfigFile –Static -IPv4Address "10.0.0.2" -IPv4DNSResolver "10.0.0.1" -IPv4SubnetMask "255.255.255.0" -CloneComputerName "VirtualDC2" -IPv4DefaultGateway "10.0.0.3" -PreferredWINSServer "10.0.0.1" -SiteName "REDMOND"

-------------------------- EXAMPLE 2 --------------------------

Creates a clone domain controller named Clone1 with a static IPv6 settings.

PS C:\> New-ADDCCloneConfigFile -Static -CloneComputerName "Clone1" -IPv6DNSResolver "FEC0:0:0:FFFF::1"

-------------------------- EXAMPLE 3 --------------------------

Creates a clone domain controller named Clone2 with dynamic IPv4 settings.

PS C:\> New-ADDCCloneConfigFile -AlternateWINSServer "10.0.0.3" -CloneComputerName "Clone2"-IPv4DNSResolver "10.0.0.1" -PreferredWINSServer "10.0.0.1"

-------------------------- EXAMPLE 4 --------------------------

Creates a clone domain controller with dynamic IPv6 settings.

PS C:\> New-ADDCCloneConfigFile -IPv6DNSResolver "FEC0:0:0:FFFF::1" -SiteName "REDMOND"

-------------------------- EXAMPLE 5 --------------------------

Creates a clone domain controller named Clone2 with static IPv4 and static IPv6 settings.

PS C:\> New-ADDCCloneConfigFile –Static -IPv4Address "10.0.0.2" -IPv4DNSResolver "10.0.0.1" -IPv4SubnetMask "255.255.255.0" -Static -IPv6DNSResolver "FEC0:0:0:FFFF::1" -CloneComputerName "Clone2" -PreferredWINSServer "10.0.0.1"

-------------------------- EXAMPLE 6 --------------------------

Creates a clone domain controller named Clone2 with static IPv4 and dynamic IPv6 settings.

PS C:\> New-ADDCCloneConfigFile -IPv4Address "10.0.0.2" -IPv4DNSResolver "10.0.0.1" -IPv4SubnetMask "255.255.255.0" -IPv4DefaultGateway "10.0.0.3" -IPv6DNSResolver "FEC0:0:0:FFFF::1"

-------------------------- EXAMPLE 7 --------------------------

Creates a clone domain controller named Clone1 with dynamic IPv4 and static IPv6 settings.

PS C:\> New-ADDCCloneConfigFile –Static -IPv6DNSResolver "FEC0:0:0:FFFF::1" -CloneComputerName "Clone1" -PreferredWINSServer "10.0.0.1" -SiteName "REDMOND"

-------------------------- EXAMPLE 8 --------------------------

Creates a clone domain controller with dynamic IPv4 and dynamic IPv6 settings.

PS C:\> New-ADDCCloneConfigFile -IPv4DNSResolver "10.0.0.1" -IPv6DNSResolver "FEC0:0:0:FFFF::1"

-------------------------- EXAMPLE 9 --------------------------

Creates a clone domain controller named CloneDC1 in offline mode, in a site called "REDMOND" with a dynamic IPv4 address. This command also uses the -Force parameter to force overwrite of any previous DCCloneConfig.xml file created at the specified path (F:\Windows\NTDS).

PS C:\> New-DCCloneConfig –Offline –CloneComputerName CloneDC1 –SiteName REDMOND –Path F:\Windows\NTDS -Force

Get-ADDCCloningExcludedApplicationList