概要
本文介绍如何在 Windows Server 上使用 PowerShell 构建 Active Directory(AD),并添加第二台域控制器(DC),实现冗余和高可用的域结构。
变量说明
以下变量需根据实际环境替换:
| 变量名 | 示例值 | 说明 |
|---|---|---|
<<DOMAIN_NAME>> |
example.local |
Active Directory 域名 |
<<NETBIOS_NAME>> |
EXAMPLE |
NetBIOS 名称(建议使用大写) |
<<ADMIN_PASSWORD>> |
P@ssw0rd! |
DSRM 模式(目录服务还原模式)密码 |
<<DOMAIN_ADMIN>> |
Administrator |
域管理员账户 |
<<DOMAIN_ADMIN_PASSWORD>> |
P@ssw0rd! |
域管理员密码(用于自动化脚本) |
<<INTERFACE_ALIAS>> |
Ethernet |
网络适配器名称(例如 Ethernet、Ethernet0) |
<<PRIMARY_DC_IP>> |
192.168.1.10 |
主域控制器(1号机)的 IP 地址 |
Step 1:在主服务器上安装 AD DS 角色
在第一台服务器上安装 Active Directory 域服务(AD DS)角色:
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Step 2:创建新林并提升为域控制器
通过 PowerShell 创建新的林并将服务器提升为主域控制器。
林 / 域功能级别列表
| 功能级别 | 枚举名 |
|---|---|
| Windows Server 2008 | Window2008 |
| Windows Server 2008 R2 | Window2008R2 |
| Windows Server 2012 | Window2012 |
| Windows Server 2012 R2 | Window2012R2 |
| Windows Server 2016 | WinThreshold |
| Windows Server 2025 | Win2025 |
💡 本例使用 Windows Server 2016(WinThreshold) 作为林与域的功能级别。
Install-ADDSForest `
-DomainName "<<DOMAIN_NAME>>" `
-DomainNetbiosName "<<NETBIOS_NAME>>" `
-SafeModeAdministratorPassword (ConvertTo-SecureString "<<ADMIN_PASSWORD>>" -AsPlainText -Force) `
-InstallDNS:$true `
-ForestMode WinThreshold `
-DomainMode WinThreshold `
-Force
⚠️ 提示需要重启时,执行以下命令:
Restart-Computer
Step 3:确认主域控制器配置
安装完成后,确认域已正确创建:
Get-ADDomain
Get-ADDomainController
Get-Service DNS
Step 4:在第二台服务器上安装 AD DS 角色
为第二台服务器添加 AD DS 功能:
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Step 5:检查并配置 DNS 设置
在将第二台服务器提升为域控制器前,确保 DNS 指向主域控制器。
# 查看当前 DNS 设置
Get-DnsClientServerAddress
# 设置主域控制器 IP
Set-DnsClientServerAddress -InterfaceAlias "<<INTERFACE_ALIAS>>" -ServerAddresses "<<PRIMARY_DC_IP>>"
⚠️ 若 DNS 指向自身 IP,域提升将失败。务必将主 DC 的 IP 设置为首选 DNS。
Step 6:将第二台服务器提升为附加域控制器
# 设置凭据
$User = "<<NETBIOS_NAME>>\<<DOMAIN_ADMIN>>"
$Pass = ConvertTo-SecureString "<<DOMAIN_ADMIN_PASSWORD>>" -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential($User, $Pass)
Install-ADDSDomainController `
-DomainName "<<DOMAIN_NAME>>" `
-Credential $Cred `
-SafeModeAdministratorPassword (ConvertTo-SecureString "<<ADMIN_PASSWORD>>" -AsPlainText -Force) `
-InstallDNS:$true `
-Force
⚠️ 提示需要重启时,执行以下命令:
Restart-Computer
Step 7:验证域控制器同步状态
确认两台 DC 已注册并同步:
Get-ADDomainController -Filter *
查看详细复制状态:
repadmin /replsummary
repadmin /showrepl
Step 8:检查 DNS 与时间同步(可选)
确认 DNS 服务与时间同步是否正常:
Get-Service DNS
w32tm /query /status
结论
通过以上步骤,可使用 PowerShell 快速构建 Active Directory 环境,并自动添加第二台域控制器,实现冗余与高可用架构。
该方法可轻松脚本化,适用于未来的环境重建或多站点部署场景。
