域搭好了,接下来就是 GPO(Group Policy Object,组策略对象)。这是 AD 真正"落地"的部分:统一密码策略、自动映射网络盘、批量装软件、锁 USB、禁控制面板……企业在用的这些管控手段,背后基本都是 GPO。
这篇记我做过的 4 个典型策略,以及策略不生效时的排查清单——后者我觉得比前者更值钱。
一、先搞清楚几件事
打开 gpmc.msc(组策略管理控制台),域下面默认只有两个 GPO:
- Default Domain Policy(链接在域根,作用于所有用户和计算机)
- Default Domain Controllers Policy(链接在 Domain Controllers OU,只管域控)
我的习惯是不要在默认策略上乱改,而是按用途新建 GPO 链接到对应 OU。这样出问题时直接取消链接就能回滚,不用去一堆设置里翻。
策略 vs 首选项
很多新手分不清这两个:
- 策略(Policies):强制生效,用户在客户端改不了,刷新策略会被改回来。灰色不可选。
- 首选项(Preferences):相当于"下发一个默认值",用户可以自己改,刷新后不会再被覆盖(除非勾选了"应用一次且不再重新应用"以外的配置)。
想强制就选策略,想给默认值就选首选项。混用的时候很容易搞混效果。
二、密码策略:只能改 Default Domain Policy
位置:计算机配置 → 策略 → Windows 设置 → 安全设置 → 账户策略 → 密码策略。
重点:一个域里只有一份密码策略,而且必须链接在域根(默认就是 Default Domain Policy)。你不能在某个 OU 上单独建一个密码策略指望它对该 OU 生效——它不会生效,这是设计使然。
如果确实要给不同人群不同密码策略(比如管理员要 12 位,普通员工 8 位),要用细粒度密码策略 PSO(Password Settings Object),在 AD 管理中心(dsac.exe)的 System → Password Settings Container 里新建,然后把它应用到安全组上。这个我还没实操,下一步补上。
我这次设置的是:
- 密码必须符合复杂性要求:启用
- 最短密码长度:8
- 密码最长使用期限:90 天
- 强制密码历史:5 个
- 账户锁定阈值:5 次无效登录 → 锁定 30 分钟
账户锁定阈值这个要小心,设太小容易被误锁(比如用户改了密码但手机/Outlook 还在用旧密码反复重试,几分钟就把账号锁死)。企业里常见的是设 5~10 次,配合 30 分钟自动解锁。
三、驱动器映射:网络盘自动挂上来
位置:用户配置 → 首选项 → Windows 设置 → 驱动器映射 → 新建 → 映射驱动器。
填共享路径 \\FS01\share$,驱动器号选一个靠后的(比如 Z:,避免和用户本地盘符冲突),勾选"重新连接"。
如果只想给某个组映射,一定要用项目级目标(Item-level targeting):在"常用"选项卡勾上"项目级目标"→ 目标 → 安全组,选对应的组。这样不是该组成员的用户登录时,这条映射会直接跳过。
踩过的坑:共享路径写成了 \\FS01\share(没加隐藏符),结果所有用户都能在"网络"里看到这个共享。加上 $ 之后就隐藏了,但用户还是能通过映射盘访问——这才是想要的效果。
四、软件分发:批量静默装 MSI
位置:计算机配置 → 策略 → 软件设置 → 软件安装 → 新建 → 程序包。
三个前提,缺一不可:
- 安装包必须是 MSI。EXE 不能直接通过 GPO 分发(要么重新打包成 MSI,要么用启动脚本)。
- 安装源路径要用 UNC 路径(
\\FS01\soft$\7z.msi),不能是本地路径。 - 共享权限和 NTFS 权限都要给 Domain Computers 读取权限 —— 因为是计算机启动阶段(SYSTEM 账户)来读这个包,不是用户。这个坑我踩了,软件一直装不上,看事件日志才发现是访问被拒绝。
发布(Published)和分配(Assigned)的区别:
- 分配到计算机:下次开机时自动安装,用户躲不掉。适合必备软件。
- 发布到用户:在"控制面板 → 获取程序"里可选安装。适合可选软件。
注意:软件安装策略只在开机/登录时生效,gpupdate /force 不会立刻触发安装,必须重启。我在测试时等了半天没反应,重启才出来。
五、应用顺序 LSDOU 与三种"打断"机制
默认顺序:本地 → 站点 → 域 → OU(子 OU 在后),后应用的覆盖先应用的,也就是 LSDOU。
三种改变默认行为的方式:
- 强制(Enforced / 禁止替代):链接在上级设为强制,下级无法覆盖。密码策略这类就该强制。
- 阻止继承:在某个 OU 上右键阻止继承,上级策略就不下来了。用多了会让策略链路很难理清楚,慎用。
- 环回处理(Loopback Processing):公用电脑/会议室机器的救星。正常情况 GPO 的用户配置取决于登录用户所在的 OU;开了环回之后改成取决于计算机所在的 OU。这样不管谁登录这台机器,都套用同一套用户策略。
环回有两种模式:合并(Merge,先应用用户自己的再合并计算机的)和替换(Replace,完全用计算机的替换)。我给会议室机器用的是替换模式。
六、排错:GPO 不生效怎么查
这是我整理的清单,按顺序走一遍基本能定位:
- 先看有没有应用上:
gpresult /h C:\gp.html生成报告,打开看"已应用的 GPO"列表里有没有你这个策略。如果连 GPO 都不在列表里,跳到第 2、3 步。 - DNS 问题:客户端 DNS 必须指向域控。老生常谈了,但它依然是第一大原因。
- 安全筛选 / 读取权限:GPO 默认对
Authenticated Users(包含所有域用户和计算机)授予"读取+应用组策略"。如果你改过安全筛选(比如只想给某个组),要记得 Authenticated Users 的"读取"权限还在,只是去掉了"应用组策略";如果连读取都删了,计算机根本读不到 GPO,gpresult里会显示"被拒绝(安全)"。
另外注意 2016 年 MS16-072 之后,用户 GPO 需要计算机账户有读取权限,很多"改了安全筛选后策略失效"的诡异问题都源于此。 - SYSVOL 问题:GPO 实际存在
\\域名\SYSVOL\域名\Policies\{GUID}。打不开这个路径说明 SYSVOL 共享或 DFSR 复制有问题。多台域控时尤其常见,用repadmin /replsummary查复制。 - 看事件日志:事件查看器 → 应用程序和服务日志 → Microsoft → Windows → GroupPolicy → Operational。4016(安全策略应用)、1058/1059(无法访问 GPO,通常是权限或网络)。
- WMI 筛选器:如果 GPO 挂了 WMI 筛选器(比如只对 Windows 10 生效),筛选器返回 false 就会静默跳过,
gpresult里会显示"已筛选掉(WMI)"。 - 有些策略需要重启:软件安装、文件夹重定向这类,只刷新不重启是不会生效的。
常用命令收个尾:
# 强制刷新
gpupdate /force
# 只刷新用户策略
gpupdate /target:user /force
# 生成 HTML 报告(最实用)
gpresult /h C:\gp.html
# 查看某台远程机器的结果(需域管理员)
gpresult /s PC01 /h C:\gp01.html
七、小结
GPO 本身不复杂,复杂的是"为什么没生效"。我的经验是先分清是根本没应用(gpresult 里看不到 → DNS/权限/链接问题)还是应用了但没效果(策略类型选错、需要重启、被覆盖)。前者查链路,后者查设置。下一篇写 VLAN,从域控换到网络层。