MDT Server加载Lite Touch Windows PE镜像后直接打开cmdlet故障求助
故障根因
加载完Lite Touch PE后直接弹出cmd是MDT初始化脚本执行失败的典型表现,你遇到的问题由两个核心错误导致:
CustomSettings.ini中内联VBS表达式的变量引用语法错误- 修改
CustomSettings.ini后未重新生成PE镜像,旧的错误配置仍然内嵌在PE文件中生效
修复步骤
1. 修正CustomSettings.ini配置
你现有配置里的right("%UUID%",6)写法错误:在#...#包裹的VBS内联表达式中,直接引用MDT变量名即可,不需要加%包裹,额外的%会被识别为字面量导致表达式解析失败。同时建议增加UUID特殊字符替换逻辑,避免出现不符合Windows计算机名命名规则的字符。
修正后的对应配置段如下:
[Settings] Priority=VM, Laptop, Desktop, Default Properties=MyCustomProperty [...] [VM] Subsection=VM-%IsVM% [Laptop] Subsection=Laptop-%IsLaptop% [Desktop] Subsection=Desktop-%IsDesktop% [VM-True] OSDComputername=VM-#right(Replace(UUID,"-",""),6)# [Laptop-True] OSDComputername=NB-#right(Replace(UUID,"-",""),6)# [Desktop-True] OSDComputername=PC-#right(Replace(UUID,"-",""),6)#
注:调整了Priority顺序优先匹配硬件类型规则,可根据实际需求保留原有顺序
2. 完全重新生成Lite Touch PE镜像
修改CustomSettings.ini后仅修改服务器端文件不会生效,配置会被内嵌到PE镜像中,必须全量更新引导文件:
- 打开MDT Deployment Workbench,进入对应部署共享
- 右键点击部署共享名称,选择「Update Deployment Share」
- 弹出的向导中选择 Completely regenerate the boot images(完全重新生成引导镜像),等待生成完成
- 将新生成的
LiteTouchPE_x64.iso(或对应架构的iso文件)重新上传到ESXi存储,替换原有旧镜像,部署虚拟机时挂载新的ISO文件
3. 异常排查
如果调整后仍然报错,按以下步骤验证:
- 进入PE弹出的cmd窗口,执行
wmic csproduct get uuid确认虚拟机可以正常读取到UUID值 - 检查生成的计算机名总长度不超过15字符(Windows计算机名长度限制)
- 检查
CustomSettings.ini不存在多余空格、括号不匹配、节名拼写错误等语法问题 - 你提到的
%03#类变量同样遵循上述规则:如果放在#...#表达式内不需要加%,直接使用变量名即可,同时确认变量为MDT支持的内置变量,拼写正确。
内容的提问来源于stack exchange,提问作者Steven Vetter
相关产品推荐
相关产品推荐

