办公软件
组策略推软件安装包,路径带空格全公司一半机器装不上,我追到引号才搞明白
92 0 16
上周给财务部推一个报表插件,用组策略的计算机启动脚本分发 MSI。我在样机上跑得溜溜的,结果一推全公司,200 台机器有 90 多台装不上。日志里就一句「系统找不到指定路径」,我盯着看了半天,心想路径明明没写错嘛。
后来把脚本里的安装命令单独拎出来,在出问题的机器上手动跑,才看到命令行解析到「Program」就断了——安装包放在 \\服务器\软件仓库\财务工具\ 下面,文件夹名带了个空格(「财务 工具」),组策略调脚本的时候没加引号,直接按空格切了。样机我测试的时候刚好路径里没空格,所以没暴露。
我这边最后是这么处理的:
- 所有启动脚本里的路径,不管有没有空格,一律用英文双引号包起来,比如
"\\\\server\\share\\财务 工具\\setup.msi"。 - 在组策略里把脚本执行方式改成「以隐藏窗口运行」,避免弹窗卡住登录。
- 推之前先拿 3 台不同部门的样机,故意把安装包放在带空格、带中文、带括号的路径下各跑一遍,对完账再全量推。
顺带说一句,MSI 本身支持 /qn 静默安装,但参数顺序也得对,msiexec /i "路径" /qn 这个 /i 后面必须紧跟着带引号的路径,不然又给你切了。这事儿我拿注册表导出对比过,装失败的机器上多了一堆临时目录残留,还得手动清,不然下次安装又报冲突。
经验就一条: 组策略推软件,路径里的空格和中文就是埋的雷,样机测试千万别图省事放在简单路径下。我现在的规矩是,测试环境专门建一个「坑爹路径」文件夹,名字就叫「软件 工具(2024)」,所有脚本先在这跑通再说。
各位同行,你们组策略推安装包的时候,是习惯把安装源放在无空格路径下,还是直接在脚本里加引号硬刚?有没有遇到过带括号也出幺蛾子的情况?
登录后可以为帖子点赞,但本帖内容对所有人开放阅读。
