PowerShell自动化部署域控制器只需三步:装AD角色、建林/域、配DNS与安全参数,5–8分钟完成,比GUI快80%;须满足Windows Server 2025、静态IP、自指DNS、合法主机名、RemoteSigned策略五前提;执行五条命令即可完成部署并验证。
用 powershell 自动化部署域控制器,核心是三步:装角色、建林/域、配 dns 和安全参数。整个过程可压缩到 5–8 分钟,比手动 gui 部署快 80%,且避免人为配置偏差。
基础环境必须提前确认
脚本执行前,这几项不满足就一定会失败:
- 服务器运行 Windows Server 2025(标准版或数据中心版)
- 已设静态 IP(例如 10.0.0.10/24),不能用 DHCP
- DNS 服务器地址指向自己(即首选 DNS 填 10.0.0.10)
- 主机名合法(如 DC01),不含下划线或空格
- PowerShell 执行策略设为 RemoteSigned:
Set-ExecutionPolicy RemoteSigned -Force
五条核心命令完成部署
以下命令按顺序执行即可创建新林并提升为域控制器(适用于首次部署):
通过 handsfree-windows CLI控制 Windows 本机应用 (UIA) 和浏览器 (Playwright) 的引导技能,用于自动化或测试桌面应用。
-
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools(安装 AD DS 角色及管理工具) -
$SafeModePassword = ConvertTo-SecureString "P@ssw0rd2025!" -AsPlainText -Force(生成 DSRM 密码) -
Install-ADDSForest -DomainName "corp.example.com" -DomainNetbiosName "CORP" -ForestMode "Win2025" -DomainMode "Win2025" -InstallDns -SafeModeAdministratorPassword $SafeModePassword -Force(创建森林、域,同时装 DNS) -
Set-DnsServerForwarder -IPAddress 8.8.8.8,1.1.1.1(配置 DNS 转发器,保障外网解析) -
Get-ADDomain | Format-List ForestMode,DomainMode,RootDomain(验证部署结果)
推荐封装成可复用脚本
把上面逻辑写成 .ps1 文件(如 Deploy-DC.ps1),加入参数校验和错误捕获更稳妥:
- 用
param()接收 -DomainName 和 -SafeModePassword,避免硬编码 - 开头加
if (-not (Get-Module -ListAvailable -Name ADDSDeployment)) { throw "AD DS 模块未就绪" } - 关键步骤后加
Write-Host "✅ DNS 已启用" -ForegroundColor Green提示状态 - 最后重启提示:用
Restart-Computer -Force或设-NoRebootOnCompletion $false
部署后必做两件事
脚本跑完不等于万事大吉,这两项遗漏会导致客户端无法加域或解析失败:
- 检查 DNS 区域是否自动生成:打开 DNS 管理器 → 正向查找区域 → 确认存在 corp.example.com,且包含 _msdcs、_sites 等 SRV 记录
-
验证域控制器服务状态:运行
Get-Service NTDS, DNS, Netlogon | Select Name, Status,三项都必须是 Running

















