DCPROMO 应答文件语法

本文介绍了 dcpromo 应答文件用于在域控制器上安装和删除 Active Directory 域服务 (AD DS) 的参数和选项。 可以使用此信息生成应答文件,以便在域控制器上执行 AD DS 的无人参与的安装。 还可以使用应答文件在无人参与的模式下删除 AD DS。

DCPROMO 摘要

Dcpromo.exe 是一个程序,可用于对 Active Directory 域控制器进行升级和降级。 管理员可以使用 dcpromo 应答文件来执行以下无人参与的任务:

  • 将工作组和成员服务器升级为 Active Directory 域控制器。
  • 将 Microsoft Windows NT 4.0 域控制器升级到 Active Directory 域控制器。
  • 降级域控制器。

Windows Server 2000 及更高版本支持 dcpromo 应答文件语法。 但是,虽然 Windows Server 2012 及更高版本仍支持 dcpromo 应答文件语法,但它们用 PowerShell cmdlets 取代了 dcpromo.exe。 有关详细信息,请参阅 Active Directory PowerShell 模块参考

基本语法

dcpromo 应答文件是一个 ASCII 文本文件,可为 Active Directory 域服务配置向导的每个页面提供自动用户输入。

要以无人参与的模式启动 dcpromo,请转到“开始”,输入“dcpromo”,然后在提升命令提示符窗口中运行以下命令:

dcpromo /answer:<answer.txt>

注意

在此示例命令中,<answer.txt> 是一个占位符,表示计划用于降级或升级的应答文件的路径和文件名。

每个 dcpromo 操作都需要对应答文件 [DCInstall] 部分中的特定字段进行应答。 下表提供了每个操作的必填字段。 如未指定该选项,则使用默认值。 这些字段的默认值在字段定义中介绍。

  • 对于新林安装,适用以下选项:

    [DCINSTALL]
    InstallDNS=yes  
    NewDomain=forest  
    NewDomainDNSName=\<The fully qualified Domain Name System (DNS) name>  
    DomainNetBiosName=\<By default, the first label of the fully qualified DNS name>  
    SiteName=\<Default-First-Site-Name>  
    ReplicaOrNewDomain=domain  
    ForestLevel=\<The forest functional level number>  
    DomainLevel=\<The domain functional level number>  
    DatabasePath="\<The path of a folder on a local volume>"  
    LogPath="\<The path of a folder on a local volume>"  
    RebootOnCompletion=yes  
    SYSVOLPath="\<The path of a folder on a local volume>"  
    SafeModeAdminPassword=\<The password for an offline administrator account>  
    
  • 对于子域安装,适用以下选项:

    [DCINSTALL]  
    ParentDomainDNSName=\<Fully qualified DNS name of parent domain>  
    UserName=\<The administrative account in the parent domain>  
    UserDomain=\<The name of the domain of the user account>  
    Password=\<The password for the user account> Specify * to prompt the user for credentials during the installation.  
    NewDomain=child  
    
    ChildName=\<The single-label DNS name of the new domain>  
    SiteName=\<The name of the AD DS site in which this domain controller will reside> This site must be created in advance in the Dssites.msc snap-in.  
    DomainNetBiosName=\<The first label of the fully qualified DNS name>  
    ReplicaOrNewDomain=domain  
    DomainLevel=\<The domain functional level number> This value can't be less than the current value of the forest functional level.  
    
    DatabasePath="\<The path of a folder on a local volume>"  
    LogPath="\<The path of a folder on a local volume>"  
    SYSVOLPath="\<The path of a folder on a local volume>"  
    InstallDNS=yes  
    
    CreateDNSDelegation=yes  
    DNSDelegationUserName= \<The account that has permissions to create a DNS delegation> The account that is being used to install AD DS may differ from the account in the parent domain that has the permissions that are required to create a DNS delegation. In this case, specify the account that can create the DNS delegation for this parameter. Specify \* to prompt the user for credentials during the installation.  
    DNSDelegationPassword= \<The password for the account that is specified for DNSDelegationUserName> Specify * to prompt the user for a password during the installation.  
    SafeModeAdminPassword=\<The password for an offline administrator account>  
    RebootOnCompletion=yes 
    
  • 对于现有林安装中的新树,适用以下选项:

    [DCINSTALL]  
    UserName=\<An administrative account in the parent domain>  
    UserDomain=\<The name of the domain of the user account>  
    Password=\<The password for the adminstrative account> Specify \* to prompt the user for credentials during the installation.  
    NewDomain=tree  
    NewDomainDNSName=\<The fully qualified DNS name of the new domain>  
    SiteName=\<The name of the AD DS site in which this domain controller will reside> This site must be created in advance in the Dssites.msc snap-in.  
    DomainNetBiosName=\<The first label of the fully qualified DNS name>  
    ReplicaOrNewDomain=domain  
    DomainLevel=\<The domain functional level number>  
    DatabasePath="\<The path of a folder on a local volume>"  
    LogPath="\<The path of a folder on a local volume>"  
    SYSVOLPath="\<The path of a folder on a local volume>"  
    InstallDNS=yes  
    CreateDNSDelegation=yes  
    DNSDelegationUserName= \<The account that has permissions to create a DNS delegation> The account that is being used to install AD DS may differ from the account in the parent domain that has the permissions that are required to create a DNS delegation. In this case, specify the account that can create the DNS delegation for this parameter. Specify \* to prompt the user for credentials during the installation.  
    DNSDelegationPassword=\<The password for the account that is specified for DNSDelegationUserName> Specify * to prompt the user for a password during the installation.  
    SafeModeAdminPassword=\<The password for an offline administrator account>  
    RebootOnCompletion=yes  
    
  • 对于其他域控制器安装,适用以下选项:

    [DCINSTALL]  
    UserName=\<The administrative account in the domain of the new domain controller>  
    UserDomain=\<The name of the domain of the new domain controller>  
    Password=\<The password for the UserName account>  
    SiteName=\<The name of the AD DS site in which this domain controller will reside> This site must be created in advance in the Dssites.msc snap-in.  
    ReplicaOrNewDomain=replica  
    ReplicaDomainDNSName=\<The fully qualified domain name (FQDN) of the domain in which you want to add an additional domain controller>  
    DatabasePath="\<The path of a folder on a local volume>"  
    LogPath="\<The path of a folder on a local volume>"  
    SYSVOLPath="\<The path of a folder on a local volume>"  
    InstallDNS=yes  
    ConfirmGC=yes  
    SafeModeAdminPassword=\<The password for an offline administrator account>  
    RebootOnCompletion=yes  
    
  • 对于使用“从介质安装 (IFM)”方法的其他域控制器安装,适用以下选项:

    [DCINSTALL]  
    UserName=\<The administrative account in the domain of the new domain controller>  
    Password=\<The password for the UserName account>  
    UserDomain=\<The name of the domain of the UserName account>  
    DatabasePath="\<The path of a folder on a local volume>"  
    LogPath="\<The path of a folder on a local volume>"  
    SYSVOLPath="\<The path of a folder on a local volume>"  
    SafeModeAdminPassword=\<The password of an offline administrator account>  
    
    CriticalReplicationOnly=no  
    SiteName=\<The name of the AD DS site in which this domain controller will reside>  
    This site must be created in advance in the Dssites.msc snap-in.  
    
    ReplicaOrNewDomain=replica  
    ReplicaDomainDNSName=\<The fully qualified domain name (FQDN) of the domain in which you want to add an additional domain controller>  
    ReplicationSourceDC=\<An existing domain controller in the domain>  
    
    ReplicationSourcePath=\<The local drive and the path of the backup>  
    
    RebootOnCompletion=yes 
    
  • 对于只读域控制器 (RODC) 安装,适用以下选项:

    [DCINSTALL]  
    UserName=\<The administrative account in the domain of the new domain controller>  
    UserDomain=\<The name of the domain of the user account>  
    PasswordReplicationDenied=\<The names of the user, group, and computer accounts whose passwords are not to be replicated to this RODC>  
    PasswordReplicationAllowed =\<The names of the user, group, and computer accounts whose passwords can be replicated to this RODC>  
    DelegatedAdmin=\<The user or group account name that will install and administer the RODC>  
    SiteName=Default-First-Site-Name  
    CreateDNSDelegation=no  
    CriticalReplicationOnly=yes  
    
    Password=\<The password for the UserName account>  
    ReplicaOrNewDomain=ReadOnlyReplica  
    ReplicaDomainDNSName=\<The FQDN of the domain in which you want to add an additional domain controller>  
    DatabasePath= "\<The path of a folder on a local volume>"  
    LogPath="\<The path of a folder on a local volume>"  
    SYSVOLPath="\<The path of a folder on a local volume>"  
    InstallDNS=yes  
    ConfirmGC=yes  
    SafeModeAdminPassword=\<The password for an offline administrator account>  
    RebootOnCompletion=yes  
    
  • 要删除 AD DS,适用以下选项:

    [DCINSTALL]  
    UserName=\<An administrative account in the domain>  
    UserDomain=\<The domain name of the administrative account>  
    Password=\<The password for the UserName account>  
    AdministratorPassword=\<The local administrator password for the server>  
    RemoveApplicationPartitions=yes  
    RemoveDNSDelegation=yes  
    DNSDelegationUserName=\<The DNS server administrative account for the DNS zone that contains the DNS delegation>  
    DNSDelegationPassword=\<The password for the DNSDelegationUserName account>  
    RebootOnCompletion=yes  
    
  • 要从域中的最后一个域控制器中删除 AD DS,适用以下选项:

    [DCINSTALL]  
    UserName=\<An administrative account in the parent domain>  
    UserDomain=\<The domain name of the UserName account>  
    Password=\<The password for the UserName account> Specify * to prompt the user for credentials during the installation.  
    IsLastDCInDomain=yes  
    AdministratorPassword=\<The local administrator password for the server>  
    RemoveApplicationPartitions=If you want to remove the partitions, specify "yes" (no quotation marks) for this entry. If you want to keep the partitions, this entry is optional.  
    RemoveDNSDelegation=yes  
    DNSDelegationUserName=\<The DNS server administrative account for the DNS zone that contains the DNS delegation>  
    DNSDelegationPassword=\<The password for the DNS server administrative account>  
    RebootOnCompletion=yes  
    
  • 对于删除林中的最后一个域控制器,适用以下选项:

    [DCINSTALL]  
    UserName=\<An administrative account in the parent domain>  
    UserDomain=\<The domain name of the UserName account>  
    Password=\<The password for the UserName account> Specify * to prompt the user for credentials during the installation.  
    IsLastDCInDomain=yes  
    AdministratorPassword=\<The local administrator password for the server>  
    RemoveApplicationPartitions=If you want to remove the partitions, specify "yes" (no quotation marks) for this entry. If you want to keep the partitions, this entry is optional.  
    RemoveDNSDelegation=yes  
    DNSDelegationUserName=\<The DNS server administrative account for the DNS zone that contains the DNS delegation>  
    DNSDelegationPassword=\<The password for the DNS server administrative account>  
    RebootOnCompletion=yes  
    

字段定义

本部分将介绍应答文件中可以使用的字段和条目。

安装操作参数

参数 默认值 说明
AllowDomainReinstall 是 | 否 此条目指定现有域是否为重新创建的域。
AllowDomainControllerReinstall 是 | 否 此条目指定即使服务检测到使用相同名称的活动域控制器帐户,是否仍要继续安装该域控制器。 只有在确定现有帐户不再处于活动状态时,才能指定
ApplicationPartitionsToReplicate 无默认值 此条目以 "partition1 partition2" 的格式指定必须复制的应用程序分区。 如果指定 *,则服务会复制所有应用程序分区。 使用空格分隔或逗号和空格分隔的可分辨名称。 用引号括起整个字符串。
ChildName 无默认值 这是附加到 ParentDomainDNSName 条目的子域名称。 如果父域为 A.COM,子域为 B,则为 ChildName 输入 B.A.COM and B
ConfirmGc 是 | 否 此条目指定副本是否也是全局目录。 如果备份是全局目录,则选择“是”让副本成为全局目录。 选择“否”并不会让副本成为全局目录。 这些条目不需要使用引号。
CreateDNSDelegation 是 | 否,无默认值 此条目指明是否创建 DNS 委派,以引用此新 DNS 服务器。 此条目仅对 AD DS 集成的 DNS 有效。
CriticalReplicationOnly 是 | 否 此条目指定安装操作是否在重启前只执行重要的复制,然后跳过复制的非关键部分以节省时间。 非关键复制发生在角色安装完成后,然后计算机将重启。
DatabasePath %systemroot%\\NTDS 此条目是本地计算机硬盘上完全限定的非通用命名约定 (UNC) 目录的路径。 此目录可存放 AD DS 数据库 (NTDS.DIT)。 如果该目录存在,则其必须为空。 如果不存在,则此条目将创建它。 选择用于存储目录的逻辑驱动器上的可用磁盘空间必须为 200 MB。 为适应舍入误差或域中的所有对象,可用磁盘空间可能必须更大。 为获得最佳性能,请将目录放在专用硬盘上。
DelegatedAdmin 无默认值 此条目指定安装和管理 RODC 的用户或组的名称。 如果没有指定值,则只有域管理员组或企业管理员组的成员才能安装和管理 RODC。
DNSDelegationPassword <密码> | *,无默认值 此条目指定创建或删除 DNS 委派的用户帐户的密码。 指定 * 以提示用户输入凭据。
DNSDelegationUserName 无默认值 此条目指定服务在创建或删除 DNS 委派时使用的用户名。 如果未指定值,则服务将使用在安装或删除 AD DS 时为 DNS 委派指定的帐户凭据。
DNSOnNetwork 是 | 否 此条将目指定 DNS 服务是否可在网络上使用。 只有当此计算机的网络适配器未配置为使用 DNS 服务器名称进行名称解析时,服务才会使用此条目。 指定“否”表示在此计算机上安装了 DNS 以进行名称解析。 否则,必须先将网络适配器配置为使用 DNS 服务器名称。
DomainLevel 0 | 2 | 3 | 4 | 5 | 6 | 7 | 10,无默认值 此条目指定域功能级别。 此条目基于在现有林中创建新域时林中存在的级别。 值说明如下:
- 0 = Windows 2000 Server 本机模式
- 2 = Windows Server 2003
- 3 = Windows Server 2008
- 4 = Windows Server 2008 R2
- 5 = Windows Server 2012
- 6 = Windows Server 2012 R2
- 7 = Windows Server 2016
- 10 = Windows Server 2025
DomainNetbiosName 无默认值 此条目为 NetBIOS 名称,AD DS 前的客户端将使用该名称来访问域。 DomainNetbiosName 在网络中必须是唯一的。
ForestLevel 0 | 2 | 3 | 4 | 5 | 6 | 7 | 10 在新的林中创建新的域时,此条目指定林功能级别,如下所示:
- 0 = Windows 2000 Server 本机模式
- 2 = Windows Server 2003
- 3 = Windows Server 2008
- 4 = Windows Server 2008 R2
- 5 = Windows Server 2012
- 6 = Windows Server 2012 R2
- 7 = Windows Server 2016
- 10 = Windows Server 2025
在现有林中安装新域控制器时不得使用此条目。 ForestLevel 条目取代了 Windows Server 2003 中的 SetForestVersion 条目。
InstallDNS 是 | 否,默认值会随操作而变化1 如果 Active Directory 域服务安装向导检测到 DNS 动态更新协议不可用,则此条目指定服务是否为新域配置 DNS。 如果向导检测到现有域的 DNS 服务器数量不足,则此条目也适用。
LogPath %systemroot%\\NTDS 这是本地计算机硬盘上存放 AD DS 日志文件的完全限定、非 UNC 目录的路径。 如果该目录存在,则其必须为空。 如果它不存在,则服务将创建它。
NewDomain 树 | 子域 | 林 树表示新域是现有林中一个新树的根。 子域表示新域是现有域的子域。 林表示新域是域树的新林中的第一个域。
NewDomainDNSName 无默认值 此条目用于“现有林中的新树”或“新林”安装。 该值为未使用的 DNS 域。
ParentDomainDNSName 无默认值 此条目为子域安装指定现有父 DNS 域的名称。
密码 <密码> | *,无默认值 此条目指定与配置域控制器的用户帐户相对应的密码。 指定 * 以提示用户输入凭据。 为了加以保护,密码会在安装后从应答文件中删除。 用户每次使用应答文件时都必须重新定义密码。
PasswordReplicationAllowed <Security_Principal> | 无,无默认值 此条目指定密码可复制到此 RODC 的计算机帐户和用户帐户的名称。 如果要将值保留为空,请指定“无”。 默认情况下,不会在此 RODC 上缓存任何用户凭据。 要指定多个安全主题,请多次添加该条目。
PasswordReplicationDenied <Security_Principal> | 无 此条目指定密码不会复制到 RODC 的用户、组和计算机帐户的名称。 如果不希望拒绝复制任何用户或计算机的凭据,请指定“无”。 要指定多个安全主题,请多次添加该条目。
RebootOnCompletion 是 | 否 此条目指定无论操作是否成功,在安装或删除 AD DS 后是否重新启动计算机。
RebootOnSuccess 是 | 否 | NoAndNoPromptEither 此条目指定在成功安装或删除 AD DS 后是否必须重新启动计算机。 总是需要重新启动才能完成 AD DS 角色的更改。
ReplicaDomainDNSName 无默认值 此条目指定要在其中配置附加域控制器的域的 FQDN。
ReplicaOrNewDomain 副本 | ReadOnlyReplica | 域 此条目仅用于新的安装。 域会将服务器转换为新域的第一个域控制器。 ReadOnlyReplica 会将服务器转换为 RODC。 副本会将服务器转换为其他域控制器。
ReplicationSourceDC 无默认值 此条目指定从合作伙伴域控制器复制 AD DS 数据以创建新域控制器的 FQDN。
ReplicationSourcePath 无默认值 此条目指定用于创建新域控制器的安装文件的位置。
SafeModeAdminPassword <密码> | 无,无默认值 此条目提供用于“目录服务还原模式”的脱机管理员帐户的密码。 不能指定空密码。
SiteName Default-First-Site-Name 此条目指定安装新林时的站点名称。 对于新的林,默认值为 Default-First-Site-Name。 对于所有其他方案,服务会使用当前站点和林的子网配置来选择站点。
SkipAutoConfigDNS 无默认值 此条目适用于想要跳过客户端设置、转发器和根提示的自动配置的专家用户。 只有在服务器上安装了 DNS 服务器服务时,此条目才会生效。 这种情况下会收到一条通知,确认服务已跳过 DNS 的自动配置。 否则,服务将忽略此条目。 如果指定了此开关,请确保在安装 AD DS 之前正确创建和配置了区域,否则域控制器将无法按预期运行。 此条目不会跳过父 DNS 区域中 DNS 委派的自动创建。 要控制 DNS 委派的创建,请使用 DNSDelegation 条目。
Syskey <system_key> | 无 此条目指定从中复制数据的介质的系统密钥。
SYSVOLPath %systemroot%\\SYSVOL 此条目指定本地计算机硬盘上一个完全限定的非 UNC 目录。 该目录将用于存放 AD DS 日志文件。 如果该目录已经存在,则其必须为空。 如果它还不存在,则服务会创建它。 该目录必须位于使用 NTFS 5.0 文件系统格式化的分区上。 为了获得最佳性能,请将目录放在与操作系统不同的物理硬盘上。
TransferIMRoleIfNeeded 是 | 否 此条目指定是否将基础结构主角色转移到此域控制器。 如果域控制器目前位于全局目录服务器上,并且不打算将域控制器作为全局目录服务器,则此条目将非常有用。 指定“是”,将基础结构主角色转移到此域控制器。 如果指定“是”,请确保同时指定 ConfirmGC=No 条目。
UserDomain 无默认值 此条目指定了计划用于在服务器上安装 AD DS 的用户帐户的域名。
UserName 无默认值 此条目指定用于在服务器上安装 AD DS 的用户帐户名称。 建议以 \<domain>\\<user_name> 格式来指定帐户凭据。

注意

1 对于新的林,将默认安装 DNS 服务器角色。 对于新树、新子域或副本,如果 Active Directory 域服务安装向导检测到现有 DNS 基础结构,则默认安装 DNS 服务器。 如果向导没有检测到现有 DNS 基础结构,则默认不安装 DNS 服务器。

删除操作参数

参数 默认值 说明
AdministratorPassword 无默认值 从域控制器删除 AD DS 时,此条目用于指定本地管理员密码。
DemoteFSMO 是 | 否 此条目指明即使域控制器拥有操作主角色,是否也会进行强制移除。
DNSDelegationPassword <密码> | *,无默认值 此条目指定用于创建或删除 DNS 委派的用户帐户的密码。 指定 * 以提示用户输入凭据。
DNSDelegationUserName 无默认值 此条目指定在创建或删除 DNS 委派时计划使用的用户名。 如果未指定值,则服务将使用在安装或删除 AD DS 时为 DNS 委派指定的帐户凭据。
IgnoreIsLastDcInDomainMismatch 是 | 否 此条目指定在指定 IsLastDCInDomain=Yes 条目或 Active Directory 域服务安装向导检测到域中有另一个活动域控制器时,是否继续从域控制器中删除 AD DS。 此条目也适用于指定 IsLastDCInDomain=No 条目且向导无法联系域中任何其他域控制器的情况。
IgnoreIsLastDNSServerForZone 是 | 否 此条目指定即使域控制器是该域控制器存放的一个或多个 AD DS 集成 DNS 区域的最后一个 DNS 服务器,是否继续删除 AD DS。
IsLastDCInDomain 是 | 否 此条目指定从中删除 AD DS 的域控制器是否是域中的最后一个域控制器。
密码 <密码> | *,无默认值 此条目指定与计划用于配置域控制器的用户帐户相对应的密码。 指定 * 以提示用户输入凭据。 为了加以保护,在安装 AD DS 后,服务会从应答文件中删除密码。 每次有人使用应答文件时,都必须重新定义密码。
RebootOnCompletion 是 | 否 此条目指定无论操作是否成功,在安装或删除 AD DS 后是否重新启动计算机。
RebootOnSuccess 是 | 否 | NoAndNoPromptEither 确定用户在成功安装或删除 AD DS 后是否必须重新启动计算机。 总是需要重新启动才能完成 AD DS 角色的更改。
RemoveApplicationPartitions 是 | 否 此条目指定从域控制器中删除 AD DS 时是否删除应用程序分区。 指定“是”会删除域控制器上的应用程序分区。 指定“否”不会删除域控制器上的应用程序分区。 如果域控制器存放了任何应用程序目录分区的最后一个副本,则必须手动确认是否需要删除这些分区。
RemoveDNSDelegation 是 | 否 此条目指定是否从父 DNS 区域删除指向此 DNS 服务器的 DNS 委托。
RetainDCMetadata 是 | 否 此条目指定在删除 AD DS 后域控制器元数据是否仍保留在域中,以便委派的管理员从 RODC 中删除 AD DS。
UserDomain 无默认值 此条目指定计划用于安装 AD DS 的用户账号的域名。
UserName 无默认值 此条目指定计划用于在服务器上安装 AD DS 的用户帐户名。 建议以 \<domain>\\<user_name> 格式来指定帐户凭据。

无人参与的安装返回代码

在完成基于 Windows Server 2008 的域控制器的无人参与的安装后,Active Directory 域服务安装向导会返回成功或失败代码。 有关无人参与的安装返回代码的详细信息,请参阅无人参与的安装返回代码