IT SUPPORT

EP08. "Group Policy 实战五连:从锁控制面板到远程装软件"

首页 IT Support Course Active Directory 与 Group Policy · EP08
约 12 分钟· #EP08#Active Directory 与 Group Policy
🔒 登录后可标记已读
  • 前面几篇零散提到过组策略(GPO),这篇一次性动手做五个最典型的 GPO 应用场景——限制用户能做什么(禁用控制面板、挡命令提示字元)、统一员工桌面(壁纸)、加强安全(闲置自动锁屏)、批量装软件(用 GPO 部署 Firefox)。
  • 这五个场景背后是同一套操作逻辑(建 GPO → 改设置 → 连结到 OU → 到客户端验证),学会这套流程,以后遇到任何"帮我把某个设置套用到某个部门所有电脑"的需求,都是同样的思路。
  • 学完能做到:独立建一个 GPO、找到对应的设置项、连结到目标 OU,并且知道去客户端怎么验证策略是不是真的生效了。

重点内容


通用流程(五个场景都是同一套底子)

  1. 打开 Group Policy Management(gpmc.msc
  2. 右键要套用策略的 OU(或者右键 Group Policy Objects 容器先建好再手动连结)→ Create a GPO in this domain, and Link it here
  3. 取一个看得懂用途的名字(比如「禁用控制面板」「统一桌面壁纸」),方便以后维护的人一看名字就懂用途。

[截图:Group Policy Management 控制台,右键 OU 选择"Create a GPO in this domain, and Link it here"的画面]

  1. 右键这个新 GPO → Edit,进 Group Policy Management Editor 改设置(每个场景的具体路径见下面各小节)。
  2. 改完在客户端跑 gpupdate /force(或重启)让策略立刻生效,不用干等下一次自动刷新周期。
  3. 到客户端实际验证——不要只在管理端确认设置已保存就当作完成,必须去受影响的那台电脑上实测效果。

场景一:禁用控制面板(限制普通用户乱改系统设置)

  • 路径:User Configuration → Administrative Templates → Control Panel → Prohibit access to Control Panel and PC settings
  • 设为 Enabled(已启用)
  • 验证:到套用了这条策略的客户端,尝试打开控制面板/设置,应该会看到"此操作已被系统管理员禁止"之类的提示。

[截图:客户端尝试打开控制面板时弹出"已被系统管理员禁止"的提示画面]


场景二:统一设置桌面壁纸

  • 前置准备:把想用的壁纸图片(JPEG 格式,分辨率建议对齐公司电脑常见的屏幕分辨率)放到一个所有客户端都能访问的共享位置——最常见做法是放进 SYSVOL(域控制器之间会自动同步这个目录,天然适合放这类要"全域可见"的资源)。
  • 路径:User Configuration → Administrative Templates → Desktop → Desktop → Desktop Wallpaper
  • 设为 Enabled,填入图片的路径(本地路径或 UNC 网络路径都行,UNC 更适合多台电脑共用同一张图),Wallpaper StyleFill(填满)
  • 验证:客户端 gpupdate /force 或重新登录后,桌面壁纸应该自动换成指定的图片。

场景三:阻挡命令提示字元(cmd)

  • 路径:User Configuration → Policies → Administrative Templates → System → Prevent access to the command prompt
  • 设为 Enabled;下面还有一个子选项「Disable the command prompt script processing also?」——选 No,代表只挡互动式的 cmd 窗口,不影响 .bat/.cmd 批处理脚本正常运行(很多公司内部的登录脚本、部署脚本靠这类批处理文件跑,选 Yes 可能会连带弄坏这些脚本)。
  • 验证:客户端尝试打开 CMD,应该会看到管理员已禁止此操作的提示。
  • ⚠️ 这条策略挡不住 PowerShell,也挡不住有心人用其他方式绕过——只是最基本的一层限制,真正要做更严密的应用程式控制,需要搭配 AppLocker 这类工具,这篇不深入展开。

场景四:闲置一段时间自动锁屏(安全强化)

两种做法都能达到"离开电脑一段时间自动锁定"的效果,选一种即可:

  • 做法一(用户配置,走屏保)User Configuration → Administrative Templates → Control Panel → Personalization,启用 Screen saver timeout(屏幕保护程式超时) 并设定秒数(比如 300 秒=5 分钟),同时确认 Password protect the screen saver(屏保须输入密码解锁) 也是启用状态——两者要搭配才有安全意义,只设超时没设密码保护等于白设。
  • 做法二(计算机配置,更底层)Computer Configuration → Policies → Windows Settings → Security Settings → Local Policies → Security Options → Interactive logon: Machine inactivity limit,直接设定闲置几秒后锁定桌面。
  • 验证:闲置对应时间后,客户端应该自动跳回锁屏画面,需要重新输入密码才能继续。

场景五:用 GPO 批量部署 Firefox(软件部署)

  1. 准备安装包:把 Firefox 的 .msi 安装包放到一个所有目标电脑都能访问的共享文件夹(网络共享路径,不是本机路径,因为是要"发布"给多台电脑装的)。
  2. 建一个新 GPO,专门用来做这次软件部署(跟前面几个设置类 GPO 分开建,方便以后单独管理/撤销这次部署)。
  3. 编辑该 GPO:Computer Configuration → Policies → Software Settings → Software installation → 右键 → New → Package,浏览到共享路径里的 .msi 文件(务必用 UNC 路径 \\服务器名\共享名\文件.msi,不要用本机路径,不然客户端根本找不到这个文件)。

[截图:Software installation 右键菜单 New → Package,选择 UNC 路径 .msi 文件的画面]

  1. 选部署方式:Assigned(指派)——用 Computer Configuration 底下的部署方式,代表电脑一开机就会自动安装,所有登录这台电脑的人都能用;如果改用 User Configuration 底下部署,则是"这个用户登录到哪台电脑都会自动装",两者适用场景不同。
  2. 连结到目标 OU,客户端重启后(软件层级的部署通常需要重启才会真正跑安装,比一般设置类 GPO 多这一步),确认 Firefox 已经自动装好。

常见误区 / 踩坑提醒

  • 改完 GPO 设置就直接跟同事说"已经处理好了",没有实际去客户端验证——组策略生效有延迟(默认刷新周期不是即时的),务必跑 gpupdate /force 并且真的到客户端测试效果,光看管理端保存成功不算数。
  • 部署软件用了本机路径而不是 UNC 网络路径——客户端各自的本机磁盘上根本没有这个安装包,网络路径共享位置才是所有目标电脑都能读到的地方。
  • 阻挡命令提示字元时把"Disable the command prompt script processing also"设成 Yes——这会连带打断很多公司内部登录脚本/批处理任务,一般场合选 No 就够,只挡互动式窗口。
  • 设了屏保超时却没勾密码保护——员工离开座位电脑自动进入屏保画面,但只要动一下鼠标就直接回到桌面不用密码,等于这条策略形同虚设。

Sources

Udemy(课程 transcript):

  1. IT Support Technical Skills Bootcamp — Section 8, Lectures 75-79(应用基础用户组策略禁用控制面板并验证 / 用组策略设置桌面壁纸 / 用组策略阻挡命令提示字元并验证 / 闲置自动锁屏安全策略 / 用组策略部署 Firefox 软件)

官方文档 / 网络资料补充: (本讲原始素材只有课程大纲标题,没有实际操作内容,以下由 WebSearch 核实补充)

  1. How to Disable Control Panel using Group Policy
  2. Deploy Desktop Background Wallpaper using Group Policy
  3. Disable Command Prompt using Group Policy (GPO)
  4. 5 Steps to Enable Windows Lock Screen after Inactivity via GPO
  5. Deploy Software with Group Policy (MSI & EXE)