应通过AppLocker设置可执行规则并配置白名单,禁用Windows Installer服务,限制用户对系统目录和注册表的写入权限,隐藏应用安装入口,并启用日志审计以实现软件安装管控。
在windows域环境中,通过组策略(gpo)限制特定组织单位(ou)下的用户安装未授权软件,核心思路是禁用用户级的软件安装权限,同时保留管理员正常维护能力。关键不在于“阻止某个具体软件”,而在于切断普通用户触发安装行为的执行路径。
禁用用户启动安装程序的能力
最直接有效的方式是阻止常见安装包执行:
- 在GPO中配置「计算机配置 → 策略 → Windows设置 → 安全设置 → 软件限制策略」,新建策略后添加规则,将.msi、.exe、.bat、.cmd、.ps1等扩展名设为“不允许”(注意:.ps1需启用PowerShell执行策略配合)
- 更推荐使用「AppLocker」(Windows Server 2012+ / Win10+),它比软件限制策略更精细、可审计。在「计算机配置 → 策略 → Windows设置 → 安全设置 → 应用程序控制策略 → AppLocker」中,启用「可执行规则」并创建默认规则(如“拒绝所有用户运行除Windows目录外的可执行文件”),再为IT部门或白名单路径(如\serverpps)添加例外
- 确保策略链接到目标OU,并启用「已启用」和「强制」选项,避免被子OU继承覆盖
移除用户本地安装权限
即使绕过执行限制,用户若拥有写入系统目录或注册表的权限,仍可能手动解压或注册组件。需收紧权限边界:
- 通过GPO「计算机配置 → 策略 → Windows设置 → 安全设置 → 本地策略 → 用户权限分配」,从「以本地系统身份登录」、「管理审核和安全日志」等高权策略中移除普通用户组
- 使用「计算机配置 → 首选项 → Windows设置 → 权限项」,限制用户对%windir%System32、%ProgramFiles%、%ProgramFiles(x86)%的写入/修改权限(仅保留Administrators和SYSTEM)
- 禁用用户对注册表HKEY_LOCAL_MACHINESOFTWARE的完全控制(可通过「安全设置 → 注册表」策略实现)
关闭用户自助安装通道
很多“一键安装”实际依赖系统内置服务或UI机制,一并关闭可堵住旁路:
- 禁用Windows Installer服务:GPO中「计算机配置 → 首选项 → 控制面板设置 → 服务」,设置Windows Installer服务为「已禁用」(注意:这会影响所有MSI安装,包括合法更新,建议仅在严格场景启用)
- 隐藏“应用和功能”中的安装入口:通过「用户配置 → 管理模板 → 控制面板 → “应用和功能”」启用「隐藏“添加新应用”按钮」
- 禁用用户运行脚本的能力:在「计算机配置 → 策略 → Windows设置 → 安全设置 → 脚本」中,清空启动/关机脚本;在「用户配置 → 管理模板 → 系统 → 脚本」中禁用用户登录/注销脚本
补充:白名单与审计不能少
纯封堵易引发业务阻断,必须配套可信分发与行为追踪:
- 部署企业软件中心(如Intune、SCCM或PDQ Deploy),将批准软件以静默方式推送到该OU设备,用户只需从内部门户“一键安装”
- 启用AppLocker日志记录(事件ID 800x系列),定期检查C:WindowsSystem32winevtLogsMicrosoft-Windows-AppLocker%4EXE%4LOG.evtx,识别绕过尝试
- 结合「高级审核策略配置 → 系统审计 → 对象访问」开启“详细文件共享”和“句柄操作”,监控可疑安装目录的写入行为










