Install-ADDSDomainController

Install-ADDSDomainController

Installs a domain controller in Active Directory.

Syntax

Parameter Set: ADDSDomainController
Install-ADDSDomainController -DomainName <String> [-ADPrepCredential <PSCredential> ] [-AllowDomainControllerReinstall] [-ApplicationPartitionsToReplicate <String[]> ] [-CreateDnsDelegation] [-Credential <PSCredential> ] [-CriticalReplicationOnly] [-DatabasePath <String> ] [-DnsDelegationCredential <PSCredential> ] [-Force] [-InstallationMediaPath <String> ] [-InstallDns] [-LogPath <String> ] [-MoveInfrastructureOperationMasterRoleIfNecessary] [-NoDnsOnNetwork] [-NoGlobalCatalog] [-NoRebootOnCompletion] [-ReplicationSourceDC <String> ] [-SafeModeAdministratorPassword <SecureString> ] [-SiteName <String> ] [-SkipAutoConfigureDns] [-SkipPreChecks] [-SystemKey <SecureString> ] [-SysvolPath <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ADDSDomainControllerReadOnly
Install-ADDSDomainController -DomainName <String> -SiteName <String> [-ADPrepCredential <PSCredential> ] [-AllowDomainControllerReinstall] [-AllowPasswordReplicationAccountName <String[]> ] [-ApplicationPartitionsToReplicate <String[]> ] [-CreateDnsDelegation] [-Credential <PSCredential> ] [-CriticalReplicationOnly] [-DatabasePath <String> ] [-DelegatedAdministratorAccountName <String> ] [-DenyPasswordReplicationAccountName <String[]> ] [-DnsDelegationCredential <PSCredential> ] [-Force] [-InstallationMediaPath <String> ] [-InstallDns] [-LogPath <String> ] [-MoveInfrastructureOperationMasterRoleIfNecessary] [-NoDnsOnNetwork] [-NoGlobalCatalog] [-NoRebootOnCompletion] [-ReadOnlyReplica] [-ReplicationSourceDC <String> ] [-SafeModeAdministratorPassword <SecureString> ] [-SkipAutoConfigureDns] [-SkipPreChecks] [-SystemKey <SecureString> ] [-SysvolPath <String> ] [-Confirm] [-WhatIf] [ <CommonParameters>]

Parameter Set: ADDSDomainControllerUseExistingAccount
Install-ADDSDomainController -DomainName <String> [-ADPrepCredential <PSCredential> ] [-ApplicationPartitionsToReplicate <String[]> ] [-Credential <PSCredential> ] [-CriticalReplicationOnly] [-DatabasePath <String> ] [-Force] [-InstallationMediaPath <String> ] [-LogPath <String> ] [-NoDnsOnNetwork] [-NoRebootOnCompletion] [-ReplicationSourceDC <String> ] [-SafeModeAdministratorPassword <SecureString> ] [-SkipAutoConfigureDns] [-SkipPreChecks] [-SystemKey <SecureString> ] [-SysvolPath <String> ] [-UseExistingAccount] [-Confirm] [-WhatIf] [ <CommonParameters>]

Detailed Description

The Install-ADDSDomainController cmdlet installs a domain controller in Active Directory.

Parameters

-ADPrepCredential<PSCredential>

Specifies the user name and password that corresponds to the account to be used for running the Adprep utility (if it is required) to prepare the directory prior to the installation of this 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

-AllowDomainControllerReinstall

Specifies whether to continue installing this domain controller, despite the fact that another domain controller account with the same name is detected. By default, the Install-ADDSDomainController cmdlet does not continue installing if another domain controller with the same name is found.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-AllowPasswordReplicationAccountName<String[]>

Specifies the names of user accounts, group accounts, and computer accounts whose passwords can be replicated to this RODC. Use an empty string ("") if you want to keep the value empty. By default, only the Allowed RODC Password Replication Group is allowed.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ApplicationPartitionsToReplicate<String[]>

Specifies the application directory partitions that DCPromo will replicate. Use the following format: "partition1" "partition2" "partitionN". Use * to replicate all application directory partitions.

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. If this parameter is specified then the DNS delegation is created. If the value of $false is specified then no DNS delegation is created. By default, the value for this parameter 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

-CriticalReplicationOnly

Specifies whether the AD DS installation operation performs only critical replication before reboot and then continues, skipping the noncritical (and potentially lengthy) portion of replication. The noncritical replication happens after the installation finishes and the computer reboots. By default, the cmdlet performs both critical and noncritical portions of the replication.

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 will contain 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

-DelegatedAdministratorAccountName<String>

Specifies the name of the user or group that will be the delegated administrator of this domain controller.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-DenyPasswordReplicationAccountName<String[]>

Specifies the names of user accounts, group accounts, and computer accounts whose passwords are not to be replicated to this RODC. Use an empty string ("") if you do not want to deny the replication of credentials of any users or computers. By default, Administrators, Server Operators, Backup Operators, Account Operators, and the Denied RODC Password Replication Group are denied. By default, the Denied RODC Password Replication Group includes Cert Publishers, Domain Admins, Enterprise Admins, Enterprise Domain Controllers, Enterprise Read-Only Domain Controllers, Group Policy Creator Owners, the krbtgt account, and Schema Admins.

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 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

-DomainName<String>

Specifies the fully qualified domain name (FQDN) for the domain where the domain controller will be installed or added.

Aliases

none

Required?

true

Position?

named

Default Value

<mandatory>

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Force

When this parameter is specified any warnings that might normally appear during the installation and addition of the domain controller 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

-InstallationMediaPath<String>

Indicates the location of the installation media that will be used to install a new domain controller.

Aliases

none

Required?

false

Position?

named

Default Value

NULL

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-InstallDns

Specifies whether the DNS Server service should be installed and configured on the domain controller. For domain controller installation, if this parameter is left unspecified and the current 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 -DomainName 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

-MoveInfrastructureOperationMasterRoleIfNecessary

Use this parameter to transfer the infrastructure master role to the domain controller being installed. To successfully complete the transfer, the -NoGlobalCatalog switch parameter must be included as well. Do not specify this parameter if you want the infrastructure master role to remain where it currently is.

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

If specified, the computer will not restart upon the completion of the operation to install the domain controller. By default, if this parameter is omitted the computer will restart upon the completion of the install operation. 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

-ReadOnlyReplica

Specifies whether to install the domain controller as an RODC for an existing domain.

Aliases

none

Required?

false

Position?

named

Default Value

FALSE

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-ReplicationSourceDC<String>

Specifies the name of the domain controller to be used as the source for replicating to this domain controller.

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. If no value is specified for this parameter, the cmdlet prompts you to enter and confirm a masked password. If specified with a value, the value must be a secure string.

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 depends on the type of installation. For a new forest, the default is Default-First-Site-Name. For all other installations, the default 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?

true

Position?

named

Default Value

<mandatory>

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

-SkipPreChecks

Specifies that only a base set of validations will be performed. This behavior is equivalent to the validations that were performed when using Dcpromo.exe in earlier versions of Windows Server to add a new domain controller. When this switch parameter is set, it specifies that additional preliminary checks should be bypassed. For more information on the scope of these additional preliminary checks that the ADDSDeployment module performs by default when using Windows Server 2012, refer to the table in the section “Prerequisite Checking” in the Understand and Troubleshoot AD DS Simplified Administration in Windows Server 2012 guide (https://go.microsoft.com/fwlink/?LinkID=237244).

Aliases

none

Required?

false

Position?

named

Default Value

none

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-SystemKey<SecureString>

Specifies the system key for the media from which you replicate the data. The default is none.

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 that will contain the Sysvol data, 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

-UseExistingAccount

Attaches a server to an existing RODC account. If specified, a member of the Domain Admins group or a delegated user can run this cmdlet.

Aliases

none

Required?

false

Position?

named

Default Value

FALSE

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-Confirm

Prompts you for confirmation before running the cmdlet.

Required?

false

Position?

named

Default Value

false

Accept Pipeline Input?

false

Accept Wildcard Characters?

false

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Required?

false

Position?

named

Default Value

false

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.

Notes

  • By default, this cmdlet always prompts for confirmation. To bypass confirmation, you need to include the -Confirm parameter and specify a value of $false. For example, -Confirm:$false.

  • By default, this cmdlet is always run when executed. To see what will happen if the cmdlet runs without executing or committing installation changes, first run the cmdlet using the -WhatIf parameter to show what would happen.

Examples

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

Description

-----------

Installs a domain controller and DNS server in the corp.contoso.com domain using CORP\Administrator credentials and prompts the user to provide and confirm the Directory Services Restore Mode (DSRM) password.

C:\PS>Install-ADDSDomainController -InstallDns -Credential (Get-Credential CORP\Administrator) -DomainName "corp.contoso.com"

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

Description

-----------

Installs a domain controller and DNS server in the corp.contoso.com domain using Administrator credentials and prompts the user to provide and confirm the Directory Services Restore Mode (DSRM) password.

C:\PS>Install-ADDSDomainController -InstallDns -DomainName "corp.contoso.com "

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

Description

-----------

Installs a domain controller and DNS server and prompts for credentials, the name of the domain to use when installing and promoting the domain controller and to provide and confirm the Directory Services Restore Mode (DSRM) password.

C:\PS>Install-ADDSDomainController -InstallDns -Credential (Get-Credential) -DomainName (Read-Host "Domain to promote into")

Add-ADDSReadOnlyDomainControllerAccount

Install-ADDSDomain

Install-ADDSForest