1. 无人值守安装概述
无人值守安装通过应答文件(Unattend.xml)自动完成 Windows 安装过程中的交互步骤,无需人工干预。
| 配置阶段 | 说明 |
|---|---|
| windowsPE | Windows PE 阶段,配置磁盘分区、选择映像 |
| offlineServicing | 离线服务阶段,注入驱动和更新 |
| specialize | 专用化阶段,配置计算机名、域加入等 |
| oobeSystem | OOBE 阶段,配置用户账户、区域设置等 |
2. 应答文件(Unattend.xml)结构
应答文件是 XML 格式,可用以下方式创建:
- Windows SIM(Windows 系统映像管理器)— 官方工具,从 ADK 安装
- 手动编写 — 适合简单场景
PowerShell - 安装 Windows SIM(ADK)
# 下载并安装 ADK(含 Windows SIM)
Invoke-WebRequest -Uri "https://go.microsoft.com/fwlink/?linkid=2243390" `
-OutFile "C:\Temp\adksetup.exe"
# 安装 ADK(仅部署工具)
.\C:\Temp\adksetup.exe /quiet /features OptionId.DeploymentTools
3. WDS 应答文件配置级别
WDS 支持在三个级别配置应答文件:
| 级别 | 作用范围 | 优先级 |
|---|---|---|
| 服务器级别 | 所有通过此 WDS 服务器部署的客户端 | 最低 |
| 映像组级别 | 指定映像组中的所有映像 | 中 |
| 客户端级别 | 指定计算机(通过 GUID 或 MAC 地址) | 最高 |
1
WDS 管理控制台 → 右键 WDS01 → 属性
2
切换到 客户端 选项卡
3
勾选 启用无人值守安装 → 浏览选择应答文件
4
分别设置 启动映像应答文件(windowsPE 阶段)和 安装映像应答文件(OOBE 阶段)
PowerShell - 配置服务器级别应答文件
# 设置启动映像应答文件(windowsPE 阶段)
WDSUTIL /Set-Server `
/WDSUnattend /Policy:Enabled `
/File:"E:\RemoteInstall\WDSClientUnattend\boot-unattend.xml" `
/Architecture:x64
4. 常用应答文件示例
4.1 启动映像应答文件(自动分区 + 选择映像)
XML - boot-unattend.xml
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE"
processorArchitecture="amd64" language="neutral"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<SetupUILanguage>
<UILanguage>zh-CN</UILanguage>
</SetupUILanguage>
<InputLocale>zh-CN</InputLocale>
<SystemLocale>zh-CN</SystemLocale>
<UILanguage>zh-CN</UILanguage>
<UserLocale>zh-CN</UserLocale>
</component>
<component name="Microsoft-Windows-Setup"
processorArchitecture="amd64" language="neutral">
<DiskConfiguration>
<Disk wcm:action="add">
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
<CreatePartitions>
<CreatePartition wcm:action="add">
<Order>1</Order>
<Type>EFI</Type>
<Size>260</Size>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>2</Order>
<Type>MSR</Type>
<Size>128</Size>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>3</Order>
<Type>Primary</Type>
<Extend>true</Extend>
</CreatePartition>
</CreatePartitions>
</Disk>
</DiskConfiguration>
<ImageInstall>
<OSImage>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>3</PartitionID>
</InstallTo>
</OSImage>
</ImageInstall>
</component>
</settings>
</unattend>
4.2 OOBE 应答文件(自动加入域)
XML - oobe-unattend.xml
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="specialize">
<component name="Microsoft-Windows-UnattendedJoin"
processorArchitecture="amd64" language="neutral">
<Identification>
<JoinDomain>iehang.cn</JoinDomain>
<Credentials>
<Domain>iehang.cn</Domain>
<Username>DomainAdmin</Username>
<Password>P@ssw0rd123</Password>
</Credentials>
</Identification>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup"
processorArchitecture="amd64" language="neutral">
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideLocalAccountScreen>true</HideLocalAccountScreen>
<HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
<HideOnlineAccountScreen>true</HideOnlineAccountScreen>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<ProtectYourPC>1</ProtectYourPC>
</OOBE>
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Name>Admin</Name>
<Group>Administrators</Group>
<Password>
<Value>P@ssw0rd123</Value>
<PlainText>true</PlainText>
</Password>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
<TimeZone>China Standard Time</TimeZone>
</component>
</settings>
</unattend>
5. 部署与验证
PowerShell - 创建应答文件目录并上传
# 创建应答文件存储目录
New-Item -Path "E:\RemoteInstall\WDSClientUnattend" -ItemType Directory -Force
# 将应答文件复制到 WDS 服务器
Copy-Item "C:\Temp\boot-unattend.xml" `
"E:\RemoteInstall\WDSClientUnattend\boot-unattend.xml"
Copy-Item "C:\Temp\oobe-unattend.xml" `
"E:\RemoteInstall\WDSClientUnattend\oobe-unattend.xml"
6. 常见问题
Q1:应答文件没有生效,安装过程仍需要手动操作
① 确认应答文件 XML 格式正确(用 Windows SIM 验证)② 确认 WDS 属性中已启用无人值守安装 ③ 确认应答文件路径正确且可访问 ④ 确认架构匹配(x86/x64/ARM64)
Q2:应答文件中域加入失败
① 确认域账户有加域权限 ② 确认密码正确 ③ 确认网络可达域控制器 ④ 检查 specialize 阶段日志:C:\Windows\Panther\UnattendGC\setupact.log
Q3:磁盘分区配置在 UEFI 和 BIOS 上不同吗?
是的。UEFI 需要 EFI 系统分区(FAT32)+ MSR + 主分区;BIOS 只需要系统保留分区 + 主分区。上面示例是 UEFI 模式。