接手公司网络运维那阵子,我接到的第一件正经事就是在 Server 2016 上部署 Active Directory 域控。当时公司三十多台 Windows 电脑全部散在工作组模式,密码记在各自名下,离职删权限要一台一台登录,共享文件夹权限加到我头皮发麻。后来在测试环境里把域控搭起来,再让一台 Win10 客户端加进域,整个管理节奏才真正顺过来。
这篇文章就把从零到一的完整过程掰开揉碎讲一遍:Server 2016 如何初始化配置、AD 域服务角色怎么安装、服务器本身如何提升为域控制器,以及 Win10 客户端加入域的每一步操作和常见报错排查。整个过程不需要多深的网络功底,但需要细心,尤其 DNS 和环境规划部分,错了后面全是坑。写这篇文章,主要还是给刚接手企业内网维护的 IT 新人一个可以直接照着做的完整参考,已经有一定经验的运维也可以看看踩坑部分,都是我实际碰上过的。
1. 域控不是装个服务那么简单:先弄懂它解决了什么
很多人第一次听到"搭域控"是这么个场景:老板说"公司电脑要统一管理,你搞个域控吧",然后就没有然后了。你如果只是闷头装一个 Windows Server 2016,装完 Active Directory 域服务,再建几个用户,其实这只是"形式上完成了",真正理解域控在整张网络里扮演什么角色,才能把后续的组策略、权限管理、软件分发玩得转。
Active Directory 域控制器本质上是一台承载目录数据库的服务器。这台服务器掌握着整个域内的"身份账本":哪些用户存在、密码是什么、属于哪些组、能访问哪些资源。客户端加域之后,每次用户登录,Win10 都会把账号密码送到域控去验证,验证通过才允许进入系统。这个过程叫域身份认证。和本地账户不同,域账号相当于一张全公司通用的工牌,从哪台电脑登录都可以,而且登录之后的桌面环境、网络驱动器映射、软件安装权限都可以由域控统一规定。
用一个生活化的例子帮助理解:本地账户就像你自家的钥匙,只能开自家门;域账号就像是公司的门禁卡,只要公司装了门禁系统的门都能刷,而且你离职的时候,管理员在系统里把这张卡一禁用,全公司的门你瞬间都进不去,不用跑去每扇门重新换锁。
具体到日常管理,域控能解决的现实问题主要有这几类:
- 账号生命周期管理:员工入职时在 AD 里建一个账号,离职时禁用或删除,全程不需要碰员工用的那台电脑。
- 集中身份验证:域账号登录一次,访问共享文件夹、ERP 系统、打印机都无需反复输入账号密码,这就是常说的单点登录的雏形。
- 组策略统一配置:桌面壁纸、屏保超时、密码复杂度、禁用的 USB 存储、软件安装白名单,都能通过组策略下发到所有加入域的客户端。
- 资源授权精细化:共享文件夹的权限可以按"用户组"分配,而不是一个个添加用户。比如市场部所有人对某个文件夹有读写权限,只需把"市场部"组加进权限列表。
另外还有一个很现实的原因:很多公司的业务软件要求域环境,比如某些 OA、财务系统、以及基于 Windows 身份验证的内部网站。没有域环境,这些系统要么没法用,要么只能各搞一套账号体系,数据同步来同步去全是坑。
不过我得泼盆冷水:域控不是搭好就完事的历史遗留解决方案,而是整个内网身份体系的地基。地基歪了,后面所有基于 AD 的系统都会出问题。所以后面的环境规划和 DNS 配置部分,请你务必多看几遍。我见过太多人搭完域控能用,但 DNS 记录乱得一塌糊涂,三个月后加新客户端时突然加不进去,排查到凌晨才发现是 SRV 记录没了。
2. 动手之前的环境规划:IP、主机名、域名,这三样定了就很难改
部署域控最忌讳一上来就开装。服务器名字、IP 地址、AD 域名这三样东西,一旦定下来并上线运行,后面再想改代价极大。别问我怎么知道的——我接手过一套域名和公司品牌完全对不上号的域环境,光改名相关的历史遗留问题就清了一个多星期。所以先把规划做扎实。
2.1 静态 IP 是域控的命根子
域控服务器必须配置静态 IP,禁用 DHCP 自动获取。原因很简单:所有客户端都要把 DNS 指向这台服务器,如果它哪天自己换了 IP,整个域内所有设备的域名解析瞬间全部瘫痪,用户会集体报错"找不到网络路径"。
静态 IP 怎么规划,我建议遵循一个简单原则:统一使用一个专用网段,比如管理网段192.168.10.0/24。把域控固定在192.168.10.10这类低位数 IP 上,以后加第二台域控、加文件服务器、加证书服务器,都能按段规划,网段里谁是谁一眼就明白。实际分配时还要注意:
- IP 地址不能和别人冲突,最好在 DHCP 地址池范围之外保留一段静态区间。
- 子网掩码、网关、DNS 都要填准确,DNS 首选地址填域控自己的 IP(或回环地址
127.0.0.1),因为域控本身同时也是 DNS 服务器。 - 如果公司内网还有其它 DNS 服务器,不要在这里混填,AD 域环境里 DNS 就是域控,混用外部 DNS 会导致 SRV 记录解析问题。
2.2 主机名别乱起
主机名(Computer Name)直接影响客户端访问。比如域控主机名叫DC01,那么客户端访问它的时候就是\\DC01或\\DC01.corp.local。命名规则建议这样:
- 使用短名称,比如
DC01、DC02,不要用"我的域控服务器-生产环境-不要动"这种一长串名称。 - 不要包含下划线等特殊字符,虽然 Windows 允许部分特殊字符,但一些老牌服务和应用解析会出问题。
- 主机名里不要带域名后缀,比如叫
corp-dc01没问题,但别叫dc01.corp.local。
2.3 AD 域名怎么选
这是最容易纠结的问题。常见有两种选择:用.local结尾的内部域名,或者用公司现有公网域名的子域,比如ad.example.com。我在实操中的建议是:
- 如果公司没有对外网站和公网域名,直接用
corp.local这类纯内部域名最简单省事。 - 如果公司有公网域名,比如
example.com,建议使用ad.example.com作为 AD 域名,这样以后做 Exchange、证书服务等和外部邮件、网站有集成的场景更顺滑。 - 无论选哪种,不要在安装之后轻易改域名。AD 域名和 NetBIOS 名称渗透在环境的每一个角落:用户主 UPN 后缀、DNS 区域、计算机账户、组策略路径、域控本身的身份。改域名的操作极其复杂,而且风险极高,基本等于重建一套环境。
还有一点必须提醒:AD 域名和 DNS 区域名是强关联的。如果你选corp.local,域控会自动创建corp.local的正向查找区域。客户端加入域后,它的 DNS 后缀通常也会被设置为这个域名,客户端主机名加上 DNS 后缀构成 FQDN。所以域名规划时别拍脑袋,想清楚公司未来三五年的 IT 形态再定。
2.4 虚拟化方式部署时的注意事项
现在的环境绝大多数跑在虚拟机上。用 VMware 或 Hyper-V 部署域控本身没问题,但有三个很隐蔽的坑:
- 不要直接克隆现有虚拟机当域控。克隆出来的机器有相同的 SID 和机器名,直接改名加域会导致各种莫名其妙的信任关系错误。正确做法是全新安装,或者对母盘执行 sysprep 重新封装后再克隆。
- 虚拟机关机快照使用要谨慎。域控的硬件时钟依赖宿主机,如果宿主机时间漂移,域控时间跟着错,Kerberos 认证分分钟失败。建议在虚拟化平台里关闭"自动同步宿主机时间"选项,让域控用 Windows 自带的 W32Time 服务同步可靠 NTP 源。
- 满足最低硬件要求。Server 2016 域控至少 2 核 CPU、4GB 内存起步。生产环境建议 4 核 8GB 以上,磁盘 IO 尽量用 SSD。AD 数据库、日志和 SYSVOL 这三个路径默认在 C 盘,如果你的 C 盘空间紧张,建议提升时修改路径到独立数据盘。我遇到过一台 C 盘只有 60GB 的域控,SYSVOL 和 NTDS 数据库把 C 盘撑爆之后,AD 复制直接挂掉的场面。
3. Server 2016 部署域控的完整操作过程
规划做完,下面进入实际操作。整个过程大概分四步:系统基础设置、添加角色、提升域控、重启验证。建议全程截图记录每一步的配置信息,后面排查问题时能省掉很多回忆成本。
3.1 系统基础配置:主机名、固定 IP、时间同步
安装完 Windows Server 2016,进入系统后的第一件事不是急着装 AD 角色,而是先把地基打好。
先用 PowerShell 或图形界面修改计算机名。PowerShell 方式:
Rename-Computer -NewName "DC01" -Restart设置静态 IP,可以在"网络和共享中心"界面里操作,也可以用 PowerShell 一步到位:
# 设置 IP 地址和网关,根据实际网段修改 New-NetIPAddress -InterfaceAlias "以太网" -IPAddress 192.168.10.10 -PrefixLength 24 -DefaultGateway 192.168.10.1 # 设置 DNS,首选指向自己 Set-DnsClientServerAddress -InterfaceAlias "以太网" -ServerAddresses 127.0.0.1注意InterfaceAlias参数要改成你服务器网卡的实际名称,不一定是"以太网",可以用Get-NetAdapter查看。设置完之后用ipconfig /all确认配置生效。
时间同步是个容易忽略但极其重要的点。Kerberos 认证协议对客户端和服务器之间的时间差非常敏感,默认容差只有 5 分钟。域控配置完毕后,它自己会成为域内的权威时间源,但域控本身还需要和外部 NTP 服务器同步,保证绝对时间准确。在提升域控之前,至少确认服务器当前时间没有明显偏差,尽量开启自动时间同步。
Windows Server 2016 默认的 W32Time 服务不一定能直接和公网 NTP 同步,如果看到时间偏差,可以用下面的命令手动指定 NTP 服务器:
w32tm /config /manualpeerlist:"ntp.aliyun.com" /syncfromflags:manual /reliable:YES /update w32tm /resync3.2 添加 Active Directory 域服务角色
基础配置完成,接着安装 AD 域服务角色。最简单的路径是打开服务器管理器,点击"添加角色和功能",在服务器角色列表里勾选"Active Directory 域服务",向导会提示同时需要安装相关管理工具,确认即可。
如果喜欢命令行,效率更高:
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools安装完成后不需要重启,但服务器管理器右上角会出现一个黄色感叹号提示"将此服务器提升为域控制器",这一步就是真正的"配置域控"。
3.3 提升为域控制器
点击提示进入"Active Directory 域服务配置向导",这是整个部署流程中最关键的一步。选项比较多,按顺序过一遍:
部署配置:选择"添加新林",因为我们要创建整个域环境的第一个域控制器。根域名填写你规划的域名,这里以corp.local为例。
域控制器选项:
- 林功能级别和域功能级别都选"Windows Server 2016"。如果环境里以后可能加入老版本的 Server 2012 R2,可以适当降级,但新环境建议直接选 2016。
- 勾选"域名系统(DNS)服务器",这会同时在这台机器上安装 DNS 服务,AD 区域会自动创建。
- 全局编录(GC)默认勾选,保持默认。
- 目录服务还原模式(DSRM)密码需要设置两次。这个密码极其重要,未来如果 AD 数据库损坏需要还原,或者要强制降级域控,都必须用到 DSRM 密码,请务必记录到安全的地方。
DNS 选项:向导会提示 DNS 委派无法创建,这只是因为当前域中还没有 DNS 服务器,属于正常现象,直接跳过或确认即可。
其他选项:NetBIOS 域名会自动生成,一般取域名的第一部分(比如CORP),保持不变。可以修改,但建议保持简短。
路径:AD 数据库、日志文件、SYSVOL 三个路径默认在 C 盘。如果是测试环境,默认即可;生产环境建议改到独立数据盘,避免系统盘故障连带 AD 数据库损坏。
全部配置核对无误后,向导会列出所有配置信息,确认后点击"安装"。系统会自动执行 AD DS 的安装和配置,结束后服务器会自动重启。
3.4 重启后的健康检查
域控重启后,第一件事不是急着加客户端,而是确认这台域控本身是健康的。我是这样检查的:
先用dcdiag做一次全面的域控健康检查:
dcdiag /v看到所有测试项 pass 或者只有无关紧要的警告,说明域控基本健康。如果出现 fail 项,尤其是 DNS 相关的测试失败,说明 DNS 区域或 SRV 记录有问题,先解决再继续。
再验证 DNS 区域的 SRV 记录是否已经生成,这是客户端找到域控的关键:
nslookup -type=SRV _ldap._tcp.dc._msdcs.corp.local能解析到dc01.corp.local的地址,说明 AD 域的 DNS 自动注册成功。
最后检查一下域内主要服务状态:
net start | findstr /i "Active Directory DNS Server Kerberos Netlogon"确认几个关键服务都在运行。
到这里,域控的搭建就算正式完成了。很多人觉得这一刻就大功告成,其实只是"能用了",要真正交付给用户使用,还需要把域用户、OU 结构、组策略这些基础架子搭起来,这就是下一部分。我见过太多环境装完域控就急着把全公司电脑往里加,结果用户组织目录一团乱、权限混乱、离职账号满街跑,过半年再来治理成本极高。搭好架子再接电脑,正式生产环境上线要稳很多。
4. 域内基础建设:建 OU、创用户、验 DNS、定策略
域控本身只是骨架,域用户、组织单位(OU)、组策略这些才是日常管理的血肉。这部分做好,后面管理几百台电脑才能游刃有余。
4.1 先建 OU 结构和用户组,别往默认容器里塞人
默认情况下,域里有Computers、Users等几个容器。很多新手喜欢把用户全建在默认Users容器里,图省事。短期没问题,但当用户上了几十个之后,你会发现:OU 没有,组没有,想批量按部门下发策略都不知道该按什么条件筛选。
正确做法是一开始就规划好 OU 结构。比如创建三个一级 OU:技术部、市场部、人事部,每个 OU 下面再按场景细分,比如技术部\员工、技术部\管理员、技术部\测试组等。这样后续组策略可以精确链接到对应 OU,一个策略只影响某个部门,不会误伤其它部门。
OU 就相当于公司的组织架构,域控上的企业运营完全基于这套结构展开。
打开"Active Directory 用户和计算机",右键域名,新建组织单位。创建好后建议顺手创建几个组:域管理员组、技术支持组、普通员工组,把未来的权限模型先立起来。
4.2 创建域用户的两种方式
图形界面创建:右键对应 OU → 新建用户 → 填写姓名、登录名(比如zhangsan)→ 设置初始密码 → 勾选"用户下次登录时须更改密码"。
批量场景下 PowerShell 更快,比如创建用户:
New-ADUser -Name "张三" -SamAccountName "zhangsan" ` -UserPrincipalName "zhangsan@corp.local" ` -Path "OU=技术部,DC=corp,DC=local" ` -AccountPassword (ConvertTo-SecureString "P@ssw0rd123" -AsPlainText -Force) ` -Enabled $true建好后可以用-PassThru参数配合循环,从一个 CSV 文件批量导入所有员工账号,几百个人也只需要半分钟。
还需要注意,有些运维会把所有域用户直接启用"管理员"权限,图省事。这是安全大忌。域环境有一个宝贵特性就是权限精细化,按需最小化分配。普通员工只加入"普通员工组",明确的共享权限需求再单独授予,别一股脑全塞进 Domain Admins。
4.3 验证 DNS SRV 记录,这是客户端的寻址地图
前面在域控部署时简单验证过 SRV 记录。这里再强调一次它为什么如此重要:Win10 客户端加入域时,加的其实不是"域名",而是通过 DNS 查询找到域控的 IP,然后和域控建立安全通道,请求加入域。如果 DNS 解析不了 SRV 记录,客户端会报"找不到域"之类的错误。
验证方法很简单,在域控上或任意一台能解析到域内 DNS 的机器上执行:
nslookup -type=SRV _ldap._tcp.dc._msdcs.corp.local nslookup -type=SRV _kerberos._tcp.corp.local正常会返回对应域控的完整计算机名和 IP。如果查询不到,检查以下几个方面:
- DNS 服务是否正常运行。
- Netlogon 服务是否启动。SRV 记录由 Netlogon 服务自动注册。
- 正向查找区域的
_msdcs.corp.local子区域里是否有dc和_ldap记录。
DNS 区域是 AD 的"神经系统",SRV 记录一旦丢失,加域、登录、组策略应用都会故障。我处理过的加域失败案例里,有一半以上根因是 DNS 解析问题,而很多人在客户端那边折腾半天,其实问题根本不在客户端。
4.4 密码策略和账户锁定策略的初始设置
域内所有计算机的密码策略默认都继承"默认域策略"(Default Domain Policy)。刚装上域控时,这条策略的默认值非常宽松:密码最短长度 7,无复杂性要求,账户不锁定,实际上并不能满足企业基本安全要求。所以第一件应该改的组策略就是它。
在"组策略管理"工具中右键 Default Domain Policy → 编辑,进入:
计算机配置 → 策略 → Windows 设置 → 安全设置 → 账户策略推荐的初始配置:
| 策略项 | 推荐值 | 说明 |
|---|---|---|
| 密码长度最小值 | 8 或 12 | 根据公司安全要求定 |
| 密码复杂性要求 | 已启用 | 强制包含大小写、数字、特殊字符 |
| 密码最短使用期限 | 1 天 | 防止反复改密码绕过历史记录 |
| 密码最长使用期限 | 90 天 | 周期轮换 |
| 强制密码历史 | 12 个 | 防止重复使用旧密码 |
| 账户锁定阈值 | 5 次 | 防暴力破解 |
| 账户锁定时间 | 30 分钟 | 锁定多久自动解锁 |
| 重置账户锁定计数器 | 30 分钟 | 多久重置失败次数 |
注意:改密码策略只对新设置的密码、或强制用户下次修改密码时生效,已存在的旧密码不受影响。合理做法是在工单通知里明确"强制执行密码变更",或者用工具批量重置用户密码,确保所有用户换一次密码。
还有一个实战经验:组策略改完后客户端默认 90 分钟刷新一次,新加的 Win10 要等很久策略才生效。测试时用gpupdate /force强制刷新,生产环境则可以接受自然周期。
4.5 测试共享文件夹权限模型
域环境里最香的功能之一是共享权限按组分配。建一个共享文件夹,比如\\DC01\技术部资料,右键属性 → 共享 → 添加"技术部"组,权限设为读取/写入。从此该部门任何员工都能访问,新人入职不用额外加权限,只要他的账号在技术部组里。这就是域"一次建组,处处生效"的逻辑。
建共享时还要注意 NTFS 权限和共享权限的叠加关系。最终有效权限取两者交集。通常建议把共享权限设为完全控制,通过 NTFS 权限去做精细控制,这样逻辑更清晰。我见过不少权限混乱的案例,就是共享权限和 NTFS 权限各自设一套,最后所有人都没权限或者所有人都有权限。
5. Win10 客户端加入域的完整流程与验证方式
域控这边架子搭好,下一步就是把 Win10 客户端正式加进来。这一步原则上不需要太复杂,只要前面环境正常,操作本身五分钟以内就能完成。但如果前面有几项细节没做到位,加域过程就会变成一场排查马拉松。所以我把每一步的要点都列出来,照着做可以避掉九成的问题。
5.1 加域之前的客户端准备清单
首先确认 Win10 系统版本。家庭版(Home)无法加入域,只有专业版(Pro)、企业版(Enterprise)和教育版才能加域。如果你拿到的电脑是家庭版,要么升级系统,要么重装专业版镜像,这是最不想遇到但特别常见的问题。建议加域前统一检查一遍系统版本。
然后检查客户端的 DNS 设置。把首选 DNS 服务器改为域控的 IP(这里是192.168.10.10),备用 DNS 可以填域控的第二个 IP(如果有第二台域控)或留空。可以在"网络适配器属性"里改,也可以 PowerShell 一步设置:
Set-DnsClientServerAddress -InterfaceAlias "以太网" -ServerAddresses 192.168.10.10设置后执行ipconfig /all确认生效,再用下面的命令测试域名解析:
nslookup corp.local ping dc01.corp.local能解析到192.168.10.10说明 DNS 路径通了。如果解析失败,加域这一步必然出错,先回去查 DNS。
同时建议记录客户端的本地管理员密码。加完域之后,本地管理员账户不会自动被禁用,但域策略可能会接管它的使用场景,以防万一还是记下来。
5.2 图形界面加入域的完整步骤
在 Win10 桌面上右键"此电脑"→ 属性 → 高级系统设置 → 计算机名选项卡 → 点击"更改"。在弹出的对话框里:
- 选择"域",输入
corp.local。 - 点击"确定"后,系统弹出 Windows 安全窗口,要求输入有权限将计算机加入域的账户。这里必须输入域账号,格式
CORP\administrator或administrator@corp.local。 - 如果一切正常,会弹出欢迎加入域的提示,然后要求重启电脑。
重启后,这台 Win10 就已经成为域成员机了。
对应的 PowerShell 方式则更为利落:
Add-Computer -DomainName "corp.local" -Credential CORP\administrator -Restart5.3 加域时要用什么账户,本机管理员行不行
很多人第一次尝试时,习惯性输入本机管理员密码,结果被拒绝。原因很简单:把一台电脑加入域,本质上是让域控制器信任这台计算机,所以需要的是域内具有"将计算机加入域"权限的账号,而不是这台电脑本地的账号。
默认情况下域管理员(Domain Admins)成员有这个权限。如果你不想每台电脑都用域管理员去加,可以在 AD 里给特定账号委派"将计算机加入域"权限,具体委派路径是 AD 用户和计算机 → 域名 → 委派控制。但测试环境或小规模环境直接用域管理员即可。
值得一提的是,加域操作后,Win10 本机的本地管理员账户默认不会被隐藏或禁用,如果你希望自动将某个域账号加入本机管理员组,可以考虑在加域后的首次登录时手动操作,或者通过组策略的受限组配置统一管理,这些都是后话。
5.4 加域成功后怎样确认和首次登录
重启后 Win10 的欢迎界面会多出一个"其他用户"入口。点击后用CORP\zhangsan或zhangsan@corp.local登录。首次登录通常会明显比本地账户慢,有时会停在"正在准备你的桌面"的界面几分钟,这是系统在创建域用户的本地配置文件、应用组策略和映射网络驱动器,属正常表现。如果等待超过十分钟还没进去,就要怀疑是策略挡住了桌面进程,或者客户端和域控的连接有问题了。
登录成功后建议打开命令行窗口验证域身份是否生效:
whoami systeminfo | findstr /B /C:"域"whoami会显示corp\zhangsan,systeminfo中的"域"字段会显示corp.local,这两条都对,说明这台电脑的域成员身份没问题。
另外建议加完域后执行一次组策略刷新:
gpupdate /force然后查看组策略应用情况:
gpresult /r可以看到哪些策略来自 Default Domain Policy、哪些是 Default Domain Controllers Policy,以及有没有策略被拒绝或未应用。如果某条策略一直没生效,这个命令的报错信息能快速帮你锁定方向。
5.5 批量加域的思路
等生产线上的电脑逐渐多起来,一台台通过图形界面加域效率太低。可以借助 PowerShell 远程调用,在管理员机器上对批量客户端执行加域操作。核心命令就是前面提到的Add-Computer。需要满足的条件是:客户端已开启 PowerShell 远程管理,网络层能通,且执行者有客户端本地管理员权限和域加域权限。
不过批量加域我建议不要在一开始就做。第一次部署时先在一两台测试机上手动完成全流程,确认域控、DNS、组策略全部正常,再编写批量脚本。否则一次批量操作下来,如果每台机器报的错误都不一样,排查会让你精疲力尽。
6. 加域与日常使用中的踩坑记录:这些坑我基本全踩过
这部分是我整篇文章里最想写的内容。前面章节里提到的操作,在文档里看都是顺风顺水的,但真实环境永远比文档多走几步。我把自己踩过、或者帮同事解决过的典型问题整理成一份排查地图,希望你能绕开。
6.1 加域时提示"找不到网络路径"
这个经典报错看上去像是网络不通,实际很多情况下网络是通的,问题出在 DNS 或必要的通信端口被阻断。按下面的顺序排查:
- 客户端上
ping dc01.corp.local,通不通。 nslookup corp.local能不能解析。- 防火墙是否放行 135、139、445 和 389 端口。域内通信大量依赖 RPC 动态端口,如果公司安全策略比较严格,客户端和域控之间全部封死,那就不是加域报错的问题了,而是这个环境根本不该存在域控。
- 客户端和域控是否在同一网段,如果跨网段,底层路由是否通畅。
我实际遇到过一个情况:客户端能 ping 通域控 IP,但加域时一直报"找不到网络路径"。折腾半天后发现客户端网卡启用了 IPv6,而域控的 DNS 区域里 IPv6 记录没注册干净,导致客户端走了错误的 IPv6 地址。最后在网卡属性里临时禁用 IPv6,问题消失。这提醒我:排查时多留意一些默认开启、但环境不太支持的协议选项。
6.2 报错"找不到域"或"指定的服务器无法运行请求的操作"
这种报错和 DNS SRV 记录有很强关联。客户端要靠 SRV 记录定位域控,如果 SRV 记录不存在、内容错误,或者客户端解析了错误的 DNS 服务器,都会出现这类错误。
排查步骤:
- 在客户端执行
nslookup -type=SRV _ldap._tcp.dc._msdcs.corp.local,看是否返回域控地址。 - 如果不返回,在域控上检查 DNS 管理器里的
_msdcs.corp.local区域是否存在,是否有dc子区域。 - 在域控上强制注册一次 DNS 记录:
ipconfig /registerdns net stop netlogon && net start netlogon- 确认客户端 DNS 服务器地址确实指向域控,而不是仍然指向路由器或其它外部 DNS。我只用一分钟就能确认这个问题的办法是:查看客户端网卡属性里的 DNS 配置,如果和规划的不一致,直接改掉。
6.3 错误码 1326:用户名或密码错误
这个错误码通常出现在"Windows 安全"窗口输入账号密码之后。字面意思是"用户名或密码错误",但实测中有好几种可能:
- 账号确实输入错误或密码不对。比如把
zhangsan@corp.local写成了zhangsan@corp,或者密码大小写输错。 - 使用了本机管理员账户,而非域账号。前面说过的经典问题。
- 域控上该账号已被禁用或当前处于过期状态。
- 客户端和域控时间偏差过大。Kerberos 认证对时间很敏感,时间差超过 5 分钟会直接认证失败,而报错信息未必明确指向时间问题。顺手执行一下时间查看:
net time /domain如果提示找不到域或无法连接,多半时间同步环节有问题。在客户端把它重新指到域控:
w32tm /config /manualpeerlist:"192.168.10.10" /syncfromflags:manual /update w32tm /resync6.4 加域成功但域账号无法登录
这个问题比加域失败更隐蔽。加域名成功说明计算机账户和域控之间的信任通道建立了,但登录时却被拒绝,常见原因有两个。
第一个是 DNS 后缀问题。客户端的登录操作需要解析域控地址和 Kerberos 服务,如果 DNS 配置不对,认证请求走不通。此时回到客户端网卡属性确认 DNS 指向域控即可。
第二个是本地配置文件冲突。如果这台 Win10 之前登录过同名的本地账号,再登录同名域账号时,Windows 会在本地配置文件夹名称上发生冲突。典型表现是登录后出现"临时配置文件",桌面文件一片空白,保存的文件没几天就丢。解决方法是先把本地同名的旧配置文件夹重命名或转移,再重新登录,或者在系统设置里删掉不需要的本地账户配置。
6.5 组策略不生效,客户端像断了线的风筝
加域完成后,组策略不生效是最让人困惑的问题。策略看起来明明配好了,客户端也加域了,但桌面壁纸没变、密码策略没变、UAC 提示还是老样子。排查方向主要有这几点:
- 确认策略链接的位置对不对。策略是链接到了 OU 上,还是链接到了域根。如果链接错了 OU,目标用户自然应用不到。
- 确认客户端是否看到了域控。
gpresult /r里如果显示"无法找到域控制器",说明 DNS 或认证链路有问题。 - 确认策略刷新周期。客户端默认 90 分钟刷新一次,刚加完域立刻测试时,先手动强制刷新:
gpupdate /force- 检查事件日志:客户端的事件查看器 → Windows 日志 → 系统,过滤来源为 GroupPolicy 的事件,看有没有 ID 为 4000 或 7016 之类的报错。这些错误信息通常直接指出原因,比如无法联系域控、文件共享权限不足等。
6.6 虚拟机克隆导致的 SID 冲突
这个坑主要出现在使用虚拟化平台批量部署的环境里。有人图省事,直接用模板克隆出一批 Win10,再逐台加域,结果一堆电脑加域报错或互相冲突。原因在于克隆机上计算机 SID 重复,而域环境对计算机身份的唯一性有严格要求。
正确做法是:模板机制造好之后,用sysprep重新封装(勾选"通用"选项),再关机克隆。sysprep 会重置 SID、清除计算机名等特有信息,之后的机器就像全新安装一样。如果已经有一批克隆机加域失败,最稳妥的方案是重装或逐一从域中退出并清理计算机账户后,用新生成的 SID 重新加域。我实际的处理经验是:与其花大量时间修克隆加域的异常,不如批量重新部署一遍更省心,数据备份好,系统本身没有不可替代的状态。
6.7 退域与重新加域,别把一手好牌打烂
某些场景下需要把一台 Win10 从域中退出,比如设备移交、电脑重装、或加域的姿势不对想推倒重来。退域操作本身不复杂:
在系统属性 → 计算机名 → 更改里选择"工作组",输入有权限的域账号,重启后即退出域。
但退域后要特别留意几个事:
- 退出域的电脑上,原来的域账号无法再登录,本地账号(比如之前创建的管理员)仍然可用。如果你没有记录本地管理员密码,退域后将面临无法登录系统的风险。
- 域控制器的 AD 数据库中仍然保留这台计算机的计算机账户,如果电脑不再使用,建议到 AD 用户和计算机里把对应计算机对象删除掉。否则以后想再加回来时,可能出现"名称已存在"或信任关系异常。
- 同一台电脑重新加域时,如果旧的计算机账户还保留着,新加的电脑和旧的计算机账户之间可能产生信任关系冲突,通常表现为加域后登录时提示"计算机账户和密码丢失"。处理方案是删除旧的计算机账户,然后重新加域。
最后再提个醒
域控搭建这个项目,技术难度其实不大,真正决定成败的是规划意识和细节习惯。我前后搭过三套测试加生产环境,每次都踩了不少意想不到的坑,总结下来最值得分享的体会是:一切操作以可回溯为原则。哪台电脑什么时候加的域、用的什么账号、改了哪些策略,全部记录在案。自己在测试环境里先把整个流程走通,再动生产环境的任何一台机器,这个习惯能救你无数次。至于 DSRM 密码和域管理员的密码,务必放在公司密码保险箱或管理员自己离线保管,别等到 AD 数据库损坏,急用的时候翻遍聊天记录都找不到。
这篇文章把从 Server 2016 初始化、搭建域控、建用户建策略,到 Win10 客户端加域和排查的完整链路都过了一遍。如果你正好要着手搭一套域环境,建议先在虚拟机里从零到一跑一遍整个流程,把每个报错都亲手处理一次,再规划生产环境的批次上线。域这个东西,熟练之后它就是一张安全网,网上任何一个节点坏了,你都知道从哪里拽线。