Test-ADDSDomainInstallation

Test-ADDSDomainInstallation

Runs the prerequisites (only) for installing a new Active Directory domain configuration.

Syntax

Parameter Set: ADDSDomain
Test-ADDSDomainInstallation -NewDomainName <String> -ParentDomainName <String> [-ADPrepCredential <PSCredential> ] [-AllowDomainReinstall] [-CreateDnsDelegation] [-Credential <PSCredential> ] [-DatabasePath <String> ] [-DnsDelegationCredential <PSCredential> ] [-DomainMode <DomainMode> ] [-DomainType <DomainType> ] [-Force] [-InstallDns] [-LogPath <String> ] [-NewDomainNetbiosName <String> ] [-NoDnsOnNetwork] [-NoGlobalCatalog] [-NoRebootOnCompletion] [-ReplicationSourceDC <String> ] [-SafeModeAdministratorPassword <SecureString> ] [-SiteName <String> ] [-SkipAutoConfigureDns] [-SysvolPath <String> ] [ <CommonParameters>]

Detailed Description

The Test-ADDSDomainInstallation cmdlet runs those prerequisite checks (only) which would be performed if you were to use the Install-ADDSDomain cmdlet to install a new Active Directory domain configuration. It differs from using the -WhatIf parameter with the Install-ADDSDomain cmdlet in that instead of summarizing the changes that would occur during the installation process, this cmdlet actually tests whether those changes are possible given the current environment.

For more information on the scope of these prerequisite checks that the ADDSDeployment module performs when using this cmdlet see the section "Prerequisite Checking" in Understand and Troubleshoot AD DS Simplified Administration.

Parameters

-ADPrepCredential<PSCredential>

Specifies the user name and password that corresponds to the account to be used for running operations (if they are required) to prepare Active Directory prior to the installation of this domain. Specify "(Get-Credential)" to prompt the user to supply a password.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-AllowDomainReinstall

If this parameter is included, it specifies that an existing domain is to be recreated.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-CreateDnsDelegation

Indicates whether to create a DNS delegation that references the new DNS server that you are installing along with the domain controller. Valid for Active Directory-integrated DNS only. The default is computed automatically based on the environment.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Credential<PSCredential>

Specifies the user name and password that corresponds to the account used to install the domain controller. Specify "(Get-Credential)" to prompt the user to supply a password.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DatabasePath<String>

Specifies the fully qualified, non?Universal Naming Convention (UNC) path to a directory on a fixed disk of the local computer that contains the domain database, for example, C:\Windows\NTDS. The default is %SYSTEMROOT%\NTDS.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DnsDelegationCredential<PSCredential>

Specifies the user name and password (account credentials) for the user creating DNS delegation. This parameter is skipped if the value for the -CreateDnsDelegation parameter is either specified or computed to be $false.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DomainMode<DomainMode>

Specifies the domain functional level during creation of a new domain. Supported values for this parameter can be either a valid integer or a corresponding enumerated string value. For example, to set the domain mode level to Windows Server 2008 R2, you can specify either a value of 4 or "Win2008R2". Other supported values include those for Windows Server 2003 (2, Win2003) Windows Server 2008 (3, Win2008) and Windows Server 2012 (5, Win8). The domain functional level cannot be lower than the forest functional level, but it can be higher. The default is Windows Server 2012 (5, Win8).

Aliases

none

Required?

false

Position?

named

Default Value

Windows2008R2

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DomainType<DomainType>

Indicates the type of domain that you want to create: a new domain tree in an existing forest (supported values are "TreeDomain" or "tree"), a child of an existing domain (supported values are "ChildDomain" or "child"). The default is ChildDomain.

Aliases

none

Required?

false

Position?

named

Default Value

ChildDomain

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

When this parameter is specified any warnings that might normally appear during the installation of the domain will be suppressed to allow the cmdlet to complete its operation. This parameter can be useful to include when scripting installation.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InstallDns

Specifies whether the DNS Server service should be installed and configured for the domain or domain tree. For domain installation, if this parameter is left unspecified and the parent domain (or in the case of a domain tree, the forest root domain) already hosts and stores the DNS names for the domain, then the default for this parameter is $true and the DNS server will be installed. Otherwise, if DNS domain names are hosted outside of Active Directory, the default is $false and no DNS server will be installed.

To test if DNS domain names are hosted outside of Active Directory, this cmdlet uses a start of authority (SOA) type DNS query to ask the question "Does a zone exist for the domain name?" For example, if the value of -NewDomainName is "corp.contoso.com", Active Directory performs an SOA query for "corp.contoso.com" and ensures that the zone name in the response is " corp.contoso.com".

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-LogPath<String>

Specifies the fully qualified, non-UNC path to a directory on a fixed disk of the local computer that will contain the domain log files, for example, C:\Windows\Logs. The default is %SYSTEMROOT%\NTDS.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NewDomainName<String>

If the value set for -DomainType is set to "TreeDomain", this parameter can be used to specify the fully qualified domain name (FQDN) for the new domain tree (for example, "contoso.com"). If the value set for -DomainType is set to "ChildDomain", this parameter can be used to specify a single label domain name for the child domain (for example, specify "corp" to make a new doman "corp.contoso.com" if the new domain is in the contoso.com domain tree).

Aliases

none

Required?

true

Position?

named

Default Value

<mandatory>

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NewDomainNetbiosName<String>

Specifies the NetBIOS name for the new domain. For NetBIOS names to be valid for use with this parameter they must be single label names of 15 characters or less.

If this parameter is set with a valid NetBIOS name value, then promotion continues with the name specified. If this parameter is not set, then the default is automatically computed from the value of the -NewDomainName parameter.

For example, if this parameter is not specified and a single-label prefix domain name of 15 characters or less is specified within the value of the -NewDomainName parameter, then promotion continues with an automatically generated NetBIOS domain name. For example, the prefix label "corp" within a full domain name value of "corp.contoso.com" would be a successful name choice.

Note that if the name value given for this parameter (or if it is omitted, the value of the single-label prefix domain name within the -NewDomainName parameter) is a name of 16 characters or more, then the domain installation fails. For example, if a value of "CORPORATEHEADQTRS" were specified for this parameter (or if this parameter is omitted and the value of -NewDomainName were set to be "corporateheadqtrs.contoso.com") then the domain installation will fail.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NoDnsOnNetwork

Specifies that DNS service is not available on the network. This parameter is used only when the IP setting of the network adapter for this computer is not configured with the name of a DNS server for name resolution. It indicates that a DNS server will be installed on this computer for name resolution. Otherwise, the IP settings of the network adapter must first be configured with the address of a DNS server.

Omitting this parameter (the default) indicates that the TCP/IP client settings of the network adapter on this server computer will be used to contact a DNS server. Therefore, if you are not specifying this parameter, ensure that TCP/IP client settings are first configured with a preferred DNS server address.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NoGlobalCatalog

Specifies that the read-only domain controller (RODC) will not be a global catalog server. By default, the domain controller that you are installing is a global catalog server.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-NoRebootOnCompletion

Specifies whether to restart the computer upon completion, regardless of success. (By default, reboot upon completion occurs when this cmdlet is used and this parameter is omitted.) As a general rule, Microsoft support recommends that you not use this parameter except for testing or troubleshooting purposes because once configuration has completed the server will not function correctly as either a member server or a DC until it is rebooted.

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ParentDomainName<String>

Specifies the fully qualified domain name (FQDN) of an existing parent domain.

Aliases

none

Required?

true

Position?

named

Default Value

<mandatory>

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ReplicationSourceDC<String>

Specifies the fully qualified domain name (FQDN) of the domain controller to be used as the source for replicating to this domain. The default value for this parameter is automatically computed from the environment.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SafeModeAdministratorPassword<SecureString>

Supplies the password for the administrator account when the computer is started in Safe Mode or a variant of Safe Mode, such as Directory Services Restore Mode. You must supply a password that meets the password complexity rules of the domain and the password cannot be blank. If specified with a value, the value must be a secure string.

If this parameter is not specified, the cmdlet prompts you to enter and confirm a masked password. This is the preferred usage when running the cmdlet interactively. If additionally there are no other arguments specified with the cmdlet, you will be prompted to enter a masked password for this parameter but no confirmation of the password entered will be made (which is not recommended as it could allow a mistyped password to be configured). Another available advanced option is to use the ConvertTo-SecureString cmdlet and specify the password string inline as unmasked console input, which is also not a recommended security best practice in production deployments.

Aliases

none

Required?

false

Position?

named

Default Value

<mandatory>

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SiteName<String>

Specifies the name of an existing site where you can place the new domain controller. The default value is the site that is associated with the subnet that includes the IP address of this server. If no such site exists, the default is the site of the replication source domain controller.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SkipAutoConfigureDns

Skips automatic configuration of DNS client settings, forwarders, and root hints. This parameter is in effect only if the DNS Server service is already installed.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SysvolPath<String>

Specifies the fully qualified, non-UNC path to a directory on a fixed disk of the local computer, for example, C:\Windows\SYSVOL. The default is %SYSTEMROOT%\SYSVOL.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

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.

Outputs

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

Examples

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

Description

-----------

Runs the prerequisites (only) to determine if installing a new child domain named child.corp.contoso.com using credentials of CORP\EnterpriseAdmin1 is possible. This example also installs a DNS server, creates a DNS delegation in the corp.contoso.com domain, sets the domain functional level to Windows Server 2003, makes the domain controller a global catalog server in a site named Houston, uses DC1.corp.contoso.com as the replication source domain controller, installs the Active Directory database and SYSVOL on the D:\ drive, installs the log files on the E:\ drive, has the server not automatically restart after the domain installation is complete and causes the user to be prompted to provide and confirm the Directory Services Restore Mode (DSRM) password to complete and commit the installation of the domain in Active Directory.

C:\PS>Test-ADDSDomainInstallation -Credential (Get-Credential CORP\EnterpriseAdmin1) -NewDomainName child -ParentDomainName corp.contoso.com -InstallDNS -CreateDNSDelegation -DomainMode Win2003 -ReplicationSourceDC DC1.corp.contoso.com -SiteName Houston -DatabasePath "D:\NTDS" -SYSVOLPath "D:\SYSVOL" -LogPath "E:\Logs" -NoRebootOnCompletion

Install-ADDSDomain