通过域控GPO部署关机脚本并重定向TEMP/TMP至D: emp%USERNAME%,实现全网终端关机时自动清理临时文件;需禁用快速启动、启用页面文件清除,并配置UNC路径脚本与系统级环境变量。
要让全网终端在关机时统一自动清理临时文件夹,核心是通过域控服务器下发组策略(gpo),将清理脚本部署到所有加入域的windows终端。该方案不依赖用户登录,由系统级关机流程触发,稳定可控。
准备标准化清理脚本
脚本需适配多用户环境和权限限制,推荐使用以下逻辑:
- 不直接操作
C:WindowsTemp或%LOCALAPPDATA%Temp——这些路径常被进程占用,强制删除易失败; - 改用重定向方式:统一将用户级TEMP/TMP变量指向非系统盘专用目录(如
D: emp%USERNAME%),再清理该路径; - 批处理内容示例(保存为
cleanup_temp.bat,ANSI编码):
mkdir "D: emp%USERNAME%"
脚本应放在域控上的共享路径(如\DC01SYSVOLscripts),确保所有终端可读取且路径一致。
配置域级别关机脚本策略
在域控制器上打开“组策略管理控制台”(GPMC.msc),新建或编辑一个作用于目标OU的GPO:
- 定位至:计算机配置 → 策略 → Windows设置 → 脚本(启动/关机)→ 关机;
- 点击“添加”,在“脚本路径”中填写UNC路径,例如:
\DC01SYSVOLscriptscleanup_temp.bat; - 不要勾选“使用本地路径运行脚本”——必须走网络路径,才能保证脚本版本统一、集中更新;
- 确认脚本无交互命令(如pause、echo等),避免关机卡在黑屏等待。
配套环境变量重定向(批量部署)
仅靠关机脚本不够,还需让所有终端把临时文件真正写入可安全清理的位置:
- 在同一条GPO中,配置:用户配置 → 策略 → Windows设置 → 环境变量;
- 新建两个“系统变量”(注意是“系统变量”,非用户变量):
— 变量名TEMP,值设为D: emp%USERNAME%
— 变量名TMP,值同样设为D: emp%USERNAME%; - 该设置会在用户首次登录时生效,后续所有程序(包括系统服务)都会将临时文件写入该路径;
- 提前在终端D盘创建
D: emp并赋予Authenticated Users完全控制权限,避免脚本执行时因权限不足失败。
增强可靠性与安全边界
避免误删或策略失效,建议补充两项关键设置:
- 启用“关机:清除虚拟内存页面文件”策略(路径:计算机配置 → Windows设置 → 安全设置 → 本地策略 → 安全选项),提升敏感数据防护等级;
- 禁用“快速启动”功能(控制面板→电源选项→选择电源按钮的功能→更改当前不可用的设置→取消勾选“启用快速启动”),确保每次关机都完整执行关机脚本,而非混合休眠流程;
- 对脚本执行加日志(如追加
> D: empcleanup.log 2>&1),便于后期排查某类终端清理失败原因。










