Windows Server 2019主域控制器搭建实战:从规划到排错
发布时间:2026/10/18 4:33:28 锦皓数字建站

1. 动手前的核心思路主域控制器到底在解决什么问题1.1 域控的本质给整个网络定规矩先不急着进服务器管理器点按钮把域控的原理闹明白后面操作会顺手很多。所谓主域控制器简单说就是一台承担“身份认证中枢”角色的服务器装上 Windows Server 2019 的 Active Directory 域服务AD DS并把角色提升成域控制器后它就成了网络里所有电脑、账号、策略的核心管理者。打个比方如果网络里的每台电脑是“学生”域控制器就是“教务处加门禁系统”——它不光给每个人发学生证域账号还管着哪个学生能进哪栋楼访问权限、什么时候必须遵守校规组策略、走廊里的公告往哪贴共享资源。以前的小作坊式工作组每台电脑各自保管账号本地管理员密码满天飞管理十台机器还能靠人来扛一旦上了几十上百台每台机器都去单独改密码、下发软件、排查权限运维工作会直接失控。域控把这一切收拢到一个身份体系里去账号在域控建一次全网都能登录策略在域控改一遍全网自动同步。这就是它的价值所在。Windows Server 2019 是目前很多企业从老版本迁移时的首选落点安装流程简洁、AD 管理界面成熟而且和 Windows 10/11 客户端的配合非常顺。对于一些刚接触服务器运维的人来说在实验环境里把主域控制器从头搭一遍是理解域架构最有效率的方式。1.2 为什么必须提前规划 IP、DNS 和主机名搭建主域控制器这件事真正让新手翻车的往往不是“点哪些按钮”而是前期规划。我总结下来最核心的就三件事静态 IP、DNS 指向、主机名。这三件事没定好后面每一步都容易踩雷。先说 IP。域控制器绝对不能使用 DHCP 自动获取地址因为它要承担 DNS 解析和身份认证服务其他电脑找它、加入域、验证账号都依赖一个长期不变、可以写进配置甚至文档里的 IP。如果 IP 哪天变了客户端解析不到域名域环境立刻“失联”表现为加不了域、登录报错、组策略刷不下来。再说 DNS。这是新人最容易忽略的一环。在 Active Directory 域环境里客户端找域控制器不是靠广播而是靠 DNS 查询 SRV 记录。也就是说域控必须同时扮演 DNS 服务器角色其他客户端的 DNS 地址也必须指向域控。很多初始搭建失败原因就是把客户端的 DNS 留在了路由器 IP 上导致整个域无法被发现。最后是主机名。域控的主机名最好是提前想好比如 DC01、DC02不要用乱七八遭的英文名更不要在提升域控之后再去随便改机器名——域控制器改名会引发 AD 数据库中的引用错乱可能要把角色降级才能改回来非常折腾。1.3 一套可复制的实验环境规划这里给出一套我在实验环境里常用的规划你完全可以照着抄。虚拟机软件用常见的任意一款就行网络模式建议设置为主机模式或桥接到独立虚拟网段保证几台机器能互通。设备角色主机名IP 地址DNS 地址操作系统主域控制器DC01192.168.56.10192.168.56.10指向自己Windows Server 2019普通客户端PC01192.168.56.50192.168.56.10Windows 10/11 专业版Linux 测试机Kali01192.168.56.60192.168.56.10Kali Linux域名我建议先用实验性质的 .local 结尾比如 example.local或者直接用内部域名格式。如果你手头有公司已注册的公网域名内部再用这个域名来搭域控逻辑上没问题但要注意内外 DNS 的解析冲突问题这种情况叫“DNS 分离”初级实验不需要涉及。用 example.local 这类明确的内部测试域名可以避开一半的意外坑。这些机器在同一个虚拟网段内、可以互相 ping 通是后续一切操作的基础。Kali 在这里扮演的角色很简单一台“局外人”Linux 客户端。很多网管员喜欢用独立于 Windows 体系之外的机器来做网络健康检查因为这样可以排除“Windows 自己人”的干扰看到域控制器对外提供服务的真实状态。2. 前置准备系统安装、静态 IP 与主机名设置2.1 Windows Server 2019 安装与初始设置如果你装过 Windows 10Windows Server 2019 的安装流程几乎不会让你感到陌生。需要注意的点有两个第一个是在安装版本选择时建议带桌面体验虽然服务器核心Server Core更节省资源也能通过命令行完成全部配置但新手还是用图形界面更容易理解每一步操作第二个是管理员密码必须设置得足够复杂否则 Windows Server 在安装检查阶段会直接卡住不让你过。系统装完后进入桌面第一件事是确认版本信息和计算机名。默认生成的主机名通常是一串随机字符比如 WIN-9F2K3L8M这种名字不适合作为域控名称。到“设置 系统 关于”里面先看一眼系统类型和版本号确保是 Windows Server 2019 Standard 或 Datacenter。2.2 配置静态 IP 与 DNS 的正确姿势图形界面配置静态 IP 的方式不需要过度展开但有几个容易忽略的细节值得提一下。进入“网络和共享中心”找到当前网卡打开属性双击“Internet 协议版本 4 (TCP/IPv4)”选择“使用下面的 IP 地址”IP 地址192.168.56.10子网掩码255.255.255.0默认网关根据你的虚拟网络填写如果没有路由器就留空首选 DNS 服务器192.168.56.10这里特别强调一下把首选 DNS 填成自己的 IP。很多人在这一步会把 DNS 照抄路由器的地址比如 192.168.56.1结果后面提升域控制器时向导反复报错“无法访问域控制器”或者 DNS 解析失败。第一台域控制器必须自己给自己提供 DNS 解析服务至少在实验环境里这是最省心的做法。用 PowerShell 也可以完成同样的配置而且速度更快。打开管理员 PowerShellNew-NetIPAddress -InterfaceAlias Ethernet -IPAddress 192.168.56.10 -PrefixLength 24 -DefaultGateway 192.168.56.1 Set-DnsClientServerAddress -InterfaceAlias Ethernet -ServerAddresses 192.168.56.10配置完以后用 ipconfig /all 检查一遍确认 IP、子网掩码、DNS 都已生效。网关如果没有实际设备可以不填或者填虚拟网卡的网关地址不影响域控工作。2.3 主机名要在这时改不是等到提升域控才改主机名最好在安装完系统、还没安装 AD 角色的时候就改好。打开服务器管理器点击左上角“本地服务器”在“计算机名”右侧点蓝色的系统信息链接或者直接在“系统属性”对话框里点击“更改设置”把机器名改成 DC01。改名后系统会提示重启。重启回来以后紧接着确认一下时间和时区。域环境对时间非常敏感后面排查章节我会专门展开。这一步先保证服务器时间与标准时间基本一致即可。注意千万别在域控提升完成后再去改主机名。虽然 Windows 允许你在界面上操作但域控的名字关联着 AD 数据库和 DNS 记录随意改名会让其他客户端找不到域控也可能导致 AD 复制异常。真需要改也得先把域控角色降级再改。2.4 Kali 在实验环境中的定位这套实验环境里配一台 Kali不是为了干什么危险的事而是把它当作一台比普通 Windows 更“挑刺”的测试客户端。Linux 系统自带完整的 DNS 工具链、LDAP 客户端和各类网络命令用它来验证域控制器的 DNS 解析是否正常、LDAP 端口是否开放能获得比 Windows 客户端更底层、更直观的结果。很多人对 Kali 的第一印象停留在“安全测试工具集”上但本质上它就是一套基于 Linux 的发行版。在实验网络里你完全可以把它当 Ubuntu 用用来 ping、做域名解析、写脚本检查服务连通性。想让域环境验证得更有说服力Linux 机器是很好的第三方视角。3. 重头戏安装 AD DS 角色并完成域控制器提升3.1 图形化安装 Active Directory 域服务完成前置准备后正式进入域控搭建核心环节。打开服务器管理器点击“管理 添加角色和功能”进入向导后一直点下一步直到“角色”选择页面。在列表里勾选“Active Directory 域服务”系统会弹出一个提示框告诉你安装 AD DS 角色时需要同时安装相关管理工具直接确认即可。向导允许你在同一页继续勾选“DNS 服务器”也可以只选 AD DS在后续提升时让安装过程自动帮你把 DNS 角色一起装好。我个人的习惯是直接在这里把两个角色都勾上减少后续步骤的变量。勾选完成后点击“下一步”到“确认”页面这时候能看到安装内容里已经包含了 AD DS 和 DNS点击“安装”。安装过程通常需要两三分钟取决于虚拟机性能。装完以后服务器管理器右上角会出现一个黄色感叹号图标上面写着“配置目标服务器上的 Active Directory 域服务”——这个提示非常重要角色安装完毕并不等于域控已经搭好还需要最后一步“提升”。3.2 提升为域控制器的关键决策点击黄色感叹号里的“将此服务器提升为域控制器”进入 Active Directory 域服务配置向导。这一步有几个关键选择我逐个拆开讲。第一个选择是部署操作。对于全新环境选“添加新林”然后在“根域名”里填你规划好的域名比如 example.local。根域名的选择会直接影响 NetBIOS 域名也就是老式系统里看到的那个短名字默认会取域名第一段的大写形式比如 EXAMPLE。生成的 NetBIOS 名最好不要跟内网其他机器重名也尽量用简短易记的词。第二个选择是功能级别。林功能级别和域功能级别都选“Windows Server 2016”。这里有个非常容易踩的坑Windows Server 2019 的安装界面里功能级别可选的最大值就是 Windows Server 2016因为微软并没有单独发布一个“Windows Server 2019 功能级别”。有些新手在向导里找 2019 找不到以为是版本有问题其实这是正常现象。功能级别选择 2016 完全不影响 2019 系统正常工作。第三个选择是 DNS 选项。向导默认会和你前面装的 DNS 角色联动让你继续安装 DNS 服务。保持勾选即可。第四个选择是“目录服务还原模式DSRM密码”。这个密码要专门记住它是以后如果域控数据库需要修复还原时用的不是管理员密码也不是域账号密码。随便填个简单密码会给自己埋雷。把它记在密码本上或者至少记在和域控相关的文档里。确认完这些选项后向导会生成一份 NetBIOS 名称和 DNS 名称的总结。可以顺便看看路径设置默认数据库、日志文件和 SYSVOL 目录都在 C 盘如果 C 盘空间紧张可以改到别的盘但这是大多数生产环境才需要考虑的事实验环境保持默认就好。全部确认后向导会要求重启。服务器重启两次左右才算完成提升。3.3 PowerShell 方式同样的操作、不同的效率如果你以后要批量搭建环境或者习惯命令行操作用 PowerShell 完成以上全部操作会更高效。管理员权限打开 PowerShellInstall-WindowsFeature AD-Domain-Services -IncludeManagementTools这个命令负责安装 AD DS 角色和相关管理工具。安装完成后执行提升命令Import-Module ADDSDeployment Install-ADDSForest -CreateDnsDelegation:$false -DatabasePath C:\Windows\NTDS -DomainMode Win2016 -DomainName example.local -DomainNetbiosName EXAMPLE -ForestMode Win2016 -InstallDns:$true -LogPath C:\Windows\NTDS -SysvolPath C:\Windows\SYSVOL -SafeModeAdministratorPassword (ConvertTo-SecureString 你的DSRM密码 -AsPlainText -Force)执行过程中会提示你确认是否重启输入 Y 回车即可。这种方式把角色安装和提升合并为两条命令自动化脚本里非常好用。第一次手工操作我还是推荐图形界面走一遍你才能对每一步背后的机制有直观感知。3.4 重启后立即执行的健康检查域控提升完成之后系统会自动重启。重新登录进来先不要急着建用户花五分钟检查一下域健康状态。这些命令以后每次排查都会用提前掌握能省很多事。打开 PowerShell依次执行nltest /dclist:example.local这条命令用来查看域里有哪几台域控在线如果看到 DC01 的条目说明域控本身已经注册成功。dcdiag /q这是微软自家的域诊断工具如果所有输出都是“passed”说明 AD 的各个组件基本正常。netdom query fsmo执行后会列出当前五种 FSMO 角色各自所在的服务器。第一台域控会持有全部角色每条输出都指向 DC01就是正常的。还有一个值得专门打开验证的地方DNS 管理器。依次展开“正向查找区域”会看到 example.local 区域下面自动生成了好几个子区域其中最关键的是 _msdcs.example.local展开里面的“域控制器”能看到 DC01 的 A 记录和一堆 SRV 记录。这些 SRV 记录就是整个域环境的“联系方式”客户端全靠它们找到域控。如果这里空荡荡的说明 DNS 集成出了问题客户端加域时大概率会“找不到域”。4. 让域真正“用起来”组织单位、域用户与客户端加域4.1 创建组织单位与域用户的两种方式域控提升成功只是基建到位真正让工作环境运转起来还得建组织单位OU和用户账号。打开“Active Directory 管理中心”或“Active Directory 用户和计算机”在域名根节点下右键新建“组织单位”。组织单位的作用是分级归类比如按部门建“研发部”“运维部”“财务部”未来组策略可以精确下发到某个 OU对通用部门下发一套策略、对财务部下发另一套这在没有域的环境里根本做不到。在组织单位里右键新建“用户”填写姓、名、用户登录名。登录名的格式决定了用户加域后的登录方式比如 domainadmin 完整形式就是 EXAMPLE\domainadmin 或者 domainadminexample.local。账号创建流程里会要求设置密码“用户下次登录时须更改密码”这个选项在测试环境可以勾着但生产环境不建议给管理员账号勾这个选项否则你自己每次登录都要先改密码相当烦躁。PowerShell 方式创建用户也很实用New-ADUser -Name 张三 -GivenName 张三 -SamAccountName zhangsan -UserPrincipalName zhangsanexample.local -Path OU研发部,DCexample,DClocal -AccountPassword (ConvertTo-SecureString 初始密码 -AsPlainText -Force) -Enabled $true注意这条命令要求密码满足复杂度要求并且 Path 参数要写对 OU 和域名的完整路径写错了会报找不到路径。4.2 Windows 客户端加入域的完整流程客户端加域的前提是客户端的 DNS 已经指向了域控。这一步我见太多人在系统设置里折腾半天找不到问题最后发现 DNS 还是路由器地址。先把客户端的 IPv4 DNS 改成 192.168.56.10然后打开“系统属性”路径是“设置 系统 关于 高级系统设置 计算机名”或者用 WinR 输入 sysdm.cpl 快速打开。在弹出的对话框里点击“更改”在“隶属于”一栏选择“域”填 example.local确定后系统会要求输入有权限加入域的账号。用 EXAMPLE\administrator 加域管理员账号即可。顺利的话会跳出一个欢迎加入域的提示框然后要求重启。重启后在登录界面点“其他用户”用户名输入 EXAMPLE\domainuser密码填对应账号的密码就能以域账号身份登录这台客户端。登录成功后可以右键开始菜单打开 PowerShell输入 whoami 查看当前身份应该会显示 example\domainuser。再运行 set看看 LOGONSERVER 变量是否指向 \DC01如果指向了 DC01就说明这台机器已经成功通过域控完成认证。4.3 Kali 作为 Linux 客户端的域环境连通性测试Windows 客户端加域验证的是“微软生态内”的完整性但我想额外提供一个独立视角用 Kali 这台 Linux 机器验证域环境对外服务是否正常。这种验证方式在生产环境中很有价值因为很多内网其实还混着 Linux 服务器它们访问 Windows 域服务时的体验并不一定和 Windows 客户端完全一致。在 Kali 上先做最基础的 DNS 测试nslookup -typesrv _ldap._tcp.dc._msdcs.example.local正常情况下Kali 会返回 DC01 的地址和端口信息。如果 Kali 无法解析出结果说明 Windows 客户端加域时所谓的“正常”可能只是本地缓存真正的 DNS 记录或者防火墙策略有问题这种第三方视角能很快暴露问题。更直接的验证方式是检查 LDAP 端口是否开放。AD 域控主要监听 389 端口LDAP和 636 端口LDAPSKali 上可以执行nc -vz 192.168.56.10 389如果端口开放说明域控的认证服务对外可达。这里的价值不在于做任何攻击测试而是作为一个不依赖 Windows 体系的独立检查点确认域控服务“站在外面看得见”。4.4 用常用命令管理域环境域搭好之后日常管理里最常用的几条命令值得顺手掌握查看域用户列表Get-ADUser -Filter * -SearchBase OU研发部,DCexample,DClocal | Format-Table Name, SamAccountName查询某台电脑是何时加入域的Get-ADComputer -Identity PC01 -Properties WhenCreated批量重置用户密码Set-ADAccountPassword -Identity zhangsan -NewPassword (ConvertTo-SecureString 新密码 -AsPlainText -Force) -Reset掌握这几条比每次打开图形界面点鼠标要高效得多尤其是管理大量账号时。5. 坑与心得搭建主域控制器时最容易翻车的几个点5.1 “域控提升向导一直报 DNS 错误”怎么办这个现象在初次搭建时非常常见。安装好 AD DS 角色点击提升向导跑了几秒钟就弹红字无法创建 DNS 区域或者 DNS 解析失败。排查思路其实很明确先确认这台服务器的 IP 是静态配置再确认 DNS 地址确实填的是自己的 IP。如果 ipconfig /all 显示 DNS 还是路由器地址那就直接在网卡属性里改掉。还有一种情况是网卡设置了多份 DNS第二优先级的 DNS 指向了外网服务器这不会导致提升失败但会影响后续客户端解析建议只保留域控这一个 DNS 地址。还有一种相对隐蔽的情况虚拟机临时把网卡断开过或者网络适配器被重置过导致 DNS 配置恢复成 DHCP 默认值。这就要养成习惯配置完网络后必须跑一遍 ipconfig /all 做最终确认。5.2 客户端加域报“找不到域”或“域控制器找不到”客户端加域时如果弹出这个报错99% 的锅都在 DNS 身上。先检查客户端 DNS 是否指向域控然后在客户端上打开命令提示符输入 nslookup example.local看是否解析出 DC01 的 IP。如果解析不通检查域控本身的 DNS 服务是否在运行服务名是 DNS Client 和 DNS Server。在域控上执行 Get-Service DNS 确认状态。还有个经常被忽略的地方客户端和域控不在同一个虚拟网段。虚拟机如果配了 NAT 模式而没有互通路由那客户端当然找不到域。最简单的办法就是把域控和客户端放在同一个网段内用同一个虚拟交换机。5.3 时区与时间同步一个看似无关的致命隐患域认证用的 Kerberos 协议有一个默认的时间容差通常只有 5 分钟。如果客户端和域控之间的时间偏差超过这个范围登录就会报“目标主体名称不正确无法生成 Kerberos 身份验证上下文”这类让人摸不着头脑的错误。排查方法就是在出问题的客户端上打开“日期和时间”设置手动把时间和域控对齐再试登录。更规范的做法是在域控上配置配置时间源让域控从外部 NTP 服务器同步时间然后在客户端加域后启用 Windows 时间服务自动同步。实验环境里只要保证客户端和域控时间手动一致就能绕开这个坑。5.4 彻底删除或降级域控的正确姿势实验环境会有人直接删除虚拟机的域控来“重置环境”如果这一步直接在虚拟化平台里强删下次想重新搭建可能因为残留的 AD 元数据产生各种奇怪问题。正确做法是先把域控降级再删虚拟机。Windows Server 2019 里已经不再用古老的 dcpromo 向导改用 PowerShellUninstall-ADDSDomainController -LastDomainControllerInDomain -RemoveApplicationPartitions:$true -DemoteOperationMasterRole:$true执行时系统会要求确认并提示输入本地管理员密码。降级完成后重启这台机器就恢复成普通服务器了这时候再删除虚拟机才干净。如果场景是要对整个域彻底废弃最后一台域控降级的同时要把整个林的数据都清理掉这时候参数可比刚才复杂建议先查一下官方文档再动手。5.5 我踩过的几个比较实在的坑第一个坑是虚拟机快照问题。搭建域控之前我记得拍过快照结果搭完后测试加域把环境搞乱了想回滚快照却发现快照拍得太晚AD 角色已经装进去了回滚出来的状态也是半拉子域控。后来我的习惯是在装系统完成、网络配置好、主机名改完之后立刻拍快照这个时间点是回滚成本最小、最干净的状态。第二个坑是 DSRM 密码差点忘记。提升向导里的 DSRM 密码我当时嫌麻烦没记录三个月后想重装整个域发现需要原来的 DSRM 密码才能降级找了一圈才在聊天记录里翻到。这个密码平时用的几率极低但真要用的时候就是救命稻草务必记录在案。第三个坑是别随意给域控更换 IP 或者改名。有一次我只是把域控的 IP 从 192.168.56.10 改成 192.168.56.11结果整个域的客户端全部失灵。域控的 IP 深度绑定在 DNS 记录和各类服务引用中真要到改 IP 的程度最佳实践是加一台新的域控让新域控接管角色老域控平稳下线而不是直接改旧域控的地址。6. 从单 DC 到高可用域控后续还能怎么玩6.1 再加一台额外域控让环境具备容灾能力单台域控在实验环境里足够用了但在生产环境一台域控挂掉就意味着整个网络瘫痪。搭建第二台域控的流程和第一台大体相似但区别在于“添加新林”变成“添加域控制器”部署时需要填域名、输入具备权限的账号向导会自动把这台新服务器变成额外域控并参与数据复制。两台域控的好处不只是冗余。客户端加域时可以填两个 DNS 地址第一台域控挂了第二台还能继续提供解析和认证服务。同时FSMO 角色可以分散在多个域控上降低单点风险。在虚拟化环境里用一台配置不太高的机器就可以跑第二台域控性价比很高。6.2 用组策略实现批量运维域控搭好之后最强大的日常功能之一就是组策略GPO。在“组策略管理”工具里你可以针对整个域或某个 OU 创建策略比如统一桌面壁纸、禁用自己的 DNS 设置、批量分发软件、把管理员权限收拢到特定用户。这些策略不需要登录每台客户端去改客户端每隔一段时间自动刷新一次策略就生效了。对于还在用工作组模式管理大量电脑的运维人员来说这一步带来的体验差异是巨大的。搭建主域控制器本篇文章的终点其实就是你走向集中管理、自动运维的起点。按照我个人的实操体会环境规划一定要写在动手之前IP 表、主机名表、账号表、密码记录四张表缺一不可。AD 域架构一旦铺开后续扩展、排障、交接都离不开当时的规划文档。实验环境里大胆折腾多搭几次收获的细节远比翻书来得深刻。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。