Microsoft Deployment Toolkit(MDT)是微软提供的一套免费的部署工具,旨在简化和自动化 Windows 操作系统及其他 Microsoft 产品的部署过程。MDT 可以帮助 IT 管理员在企业环境中轻松地部署 Windows 操作系统,以及必要的应用程序和设置。
Download Microsoft Deployment Toolkit (MDT) from Official Microsoft Download Center
Microsoft Deployment Toolkit 文档 | Microsoft Learn
使用 MDT - Microsoft Deployment Toolkit | Microsoft Learn



WDSUtil ↔ WDS PowerShell Cmdlet 对照表 & MDT 命令 ↔ MDT PowerShell Cmdlet 对照表
说明:
- wdsutil.exe 为 WDS 原生控制台命令行工具;PowerShell Cmdlet 为
WDS模块托管接口,底层均调用 wdsserver.exe RPC 服务;- MDT 无原生
mdt.exe主程序,传统操作依托 DeploymentWorkbench、LiteTouch.wsf;PowerShell 依靠 MDT PowerShell Provider(MDT PSDrive);- 部分 wdsutil 参数存在简写、别名,表格采用标准规范写法;
- 存在少量语法差异:wdsutil 依靠位置参数 + 开关,PowerShell 使用命名参数;批量自动化优先推荐 PowerShell。
一、WDSUtil ↔ WDS PowerShell 对照表
| WDSUtil 命令 | PowerShell 命令 | 功能描述 | 典型应用场景 |
|---|---|---|---|
| WDSUtil /Get-Server | Get-WdsServer | 获取 WDS 服务器全局配置(端口、PXE 状态、远程安装目录、DHCP 联动设置) | 运维巡检、自动化脚本读取服务器现有配置、基线核查 |
| WDSUtil /Configure-Server /RemoteInstallationServer /ServerIP:<IP> | Set-WdsServer -ServerIP <IP> -ConfigurationType RemoteInstallationServer | 初始化配置 WDS 远程安装服务器,绑定监听 IP | 全新服务器部署 WDS,脚本化初始化安装服务 |
| WDSUtil /Add-Image /ImageType:Install /ImageFile:<PathToWIM> /ImageName:<ImageName> | Import-WdsInstallImage -ImagePath <PathToWIM> -ImageName <ImageName> | 将操作系统安装 WIM 映像导入 WDS 映像库 | 批量导入原版系统镜像,构建部署源 |
| WDSUtil /Add-Image /ImageType:Boot /ImageFile:<PathToWIM> /ImageName:<ImageName> | Import-WdsBootImage -ImagePath <PathToWIM> -ImageName <ImageName> | 导入 PE 启动映像至 WDS 启动映像库 | 导入自定义 Boot.wim,支持 PXE 网络引导 |
| WDSUtil /Set-PxeService /Enable | Set-WdsPxeService -Enabled $true | 启用 WDS 内置 PXE 响应服务 | 开启裸机网络 PXE 引导能力;同机部署 DHCP 场景常用 |
| WDSUtil /Set-Server /Server:<ServerName> /Port:<PortNumber> | Set-WdsServer -Server <ServerName> -Port <PortNumber> | 修改 WDS 服务监听端口、指定目标 WDS 服务器 | 多服务器环境、防火墙端口变更、远程管理目标切换 |
| WDSUtil /Get-Images | Get-WdsInstallImage | 查询所有安装映像属性(名称、版本、架构、启用状态) | 自动化盘点系统镜像清单、导出资产台账 |
| WDSUtil /Get-BootImages | Get-WdsBootImage | 查询全部启动映像信息 | 核查 PE 引导镜像、检测是否存在恶意引导 wim 投毒 |
| WDSUtil /Add-Driver /DriverFile:<PathToDriver> | Import-WdsDriverPackage -DriverPackagePath <PathToDriver> | 将驱动包(INF/CAB)导入 WDS 驱动库 | 预注入网卡、RAID 驱动,避免 PE 部署识别不到硬盘 |
| WDSUtil /Set-WdsClient /EnablePe <PathToPeFile> | Set-WdsClient -EnablePe <PathToPeFile> | 配置预注册客户端绑定指定 PE 启动映像 | 硬件分类部署,不同终端加载专属 PE 镜像 |
| WDSUtil /Set-DHCP /Enable | Set-WdsDhcp -Enabled $true | 开启 WDS 与本地 DHCP 服务联动 | DHCP 与 WDS 部署在同一台服务器,自动配置 PXE 选项规避端口冲突 |
| WDSUtil /Delete-Image /ImageName:<ImageName> | Remove-WdsInstallImage -ImageName <ImageName> | 删除指定安装操作系统映像 | 清理过期、废弃系统镜像,释放存储 |
| WDSUtil /Delete-Image /ImageName:<ImageName> /ImageType:Boot | Remove-WdsBootImage -ImageName <ImageName> | 删除指定 PE 启动映像 | 下线老旧引导镜像,替换新版 PE |
| WDSUtil /Export-Image /ImageName:<ImageName> /File:<DestinationPath> | Export-WdsInstallImage -ImageName <ImageName> -DestinationPath <DestinationPath> | 将库内映像导出为独立 WIM 文件 | 镜像备份、跨 WDS 服务器迁移系统映像 |
| WDSUtil /Set-PxePolicy /BootProgram:<ProgramPath> | Set-WdsPxePolicy -BootProgram <ProgramPath> | 修改 PXE 默认引导程序(wdsnbp.com/bootmgfw.efi) | 区分 Legacy BIOS / UEFI 终端、自定义 PXE 引导链 |
| WDSUtil /Add-ImageGroup /ImageGroup:<GroupName> | New-WdsInstallImageGroup -Name <GroupName> | 创建安装映像分组,实现权限隔离 | 区分办公终端、服务器系统镜像,精细化访问控制 |
| WDSUtil /Delete-ImageGroup /ImageGroup:<GroupName> | Remove-WdsInstallImageGroup -Name <GroupName> | 删除映像分组 | 业务下线,清理整套镜像分组资源 |
补充说明:Add-WdsDriverPackage≠ Import-WdsDriverPackage
- Import:导入驱动包进入驱动库;
- Add:将库中已有驱动绑定到启动映像 / 映像组注入。
二、MDT 传统操作命令 ↔ MDT PowerShell Cmdlet 对照表
重要备注:MDT 无官方 mdt.exe 可执行文件;表格中MDT /xxx为行业俗称,对应工作台操作、LiteTouch 脚本调用;MDT PowerShell 依赖加载 MDT Provider,先执行New-PSDrive -Name MDT -PSProvider MDT -Root "\\server\DeploymentShare$"
| MDT 传统操作命令 / 入口 | PowerShell 命令 | 功能描述 | 典型应用场景 |
|---|---|---|---|
| LiteTouch.wsf | New-PSDrive -Name MDT -PSProvider MDT -Root "<PathToDeploymentShare>" | 挂载 MDT 部署共享 PowerShell 驱动器,所有 MDT 命令前置依赖 | 自动化脚本初始化 MDT 会话,读写部署共享数据 |
| DeploymentWorkbench.exe(图形工作台) | Get-DeploymentShare | 获取部署共享基本配置、属性、版本信息 | 无图形界面服务器远程运维 MDT 共享、巡检配置 |
| MDT 工作台新建部署共享 | New-MDTDeploymentShare | 创建全新 MDT 部署共享目录、初始化目录结构 | 脚本自动化搭建 MDT 服务,无需打开图形工作台 |
| MDT 工作台导入操作系统源文件 | Import-MDTOS | 导入原版 Windows ISO/WIM 操作系统源至 MDT 共享 | 批量导入多版本操作系统,构建部署基线 |
| MDT /capture | Capture-MDTImage | 通过任务序列捕获已安装系统生成 WIM 捕获镜像 | 标准化模板机封装,制作企业定制系统镜像 |
| MDT /rebuild | Rebuild-MDTDeploymentShare | 重建 MDT 部署共享元数据、目录索引 | 修改驱动、应用、任务序列后刷新部署共享 |
| MDT /update | Update-MDTDeploymentShare | 更新 LiteTouch PE 启动镜像(生成新 Boot.wim) | 添加新驱动后更新 PE,保证新硬件网络引导可用 |
| MDT /createos | New-MDTOperatingSystem | 在共享中新建操作系统条目 | 自动导入、注册自定义系统镜像 |
| MDT /deleteos | Remove-MDTOperatingSystem | 删除 MDT 库内操作系统条目 | 清理过期操作系统版本 |
| MDT /adddriver | Add-MDTDriverPackage | 导入驱动包至 MDT 驱动库 | 批量导入各型号硬件驱动,适配终端 |
| MDT /deletedriver | Remove-MDTDriverPackage | 删除 MDT 驱动库指定驱动包 | 清理冲突、老旧硬件驱动 |
| MDT /addapplication | Add-MDTApplication | 将软件安装包导入 MDT 应用库 | 系统部署自动预装办公软件、业务程序 |
| MDT /removeapplication | Remove-MDTApplication | 删除 MDT 应用库程序条目 | 下线废弃软件,精简部署镜像 |
| MDT /addpackage | Add-MDTPackage | 导入 Windows 更新包、累积补丁包 | 部署系统自动离线安装系统补丁 |
| MDT /removepackage | Remove-MDTPackage | 删除已导入的系统更新包 | 替换旧补丁包、清理过期更新 |
| MDT /addtasksequence | New-MDTTaskSequence | 创建全新部署 / 捕获任务序列 | 自动化生成标准化装机流程(分区、系统安装、软件部署) |
| MDT /removetasksequence | Remove-MDTTaskSequence | 删除无用任务序列 | 清理下线业务对应的装机流程 |
| MDT /importtasksequence | Import-MDTTaskSequence | 从 XML 文件导入任务序列 | 跨 MDT 服务器迁移装机流程模板 |
| MDT /createimage | New-MDTImage | 基于任务序列生成离线部署映像 | 制作离线 ISO 介质,用于无网络环境装机 |
| MDT /clear | Clear-MDTDeploymentShare | 清空部署共享缓存、临时文件 | 运维清理临时缓存,修复 MDT 共享索引异常 |
三、关键差异总结(运维 / 安全研判参考)
- wdsutil.exe
- 优势:开箱即用,不需要导入模块;适合简易批处理脚本;
- 劣势:输出文本难以解析,远程管理支持弱,精细化控制不足。
- WDS PowerShell
- 输出结构化对象,便于循环、筛选、导出报表;支持远程 RPC 批量管理多台 WDS;红队横向投毒常用攻击入口。
- MDT PowerShell
- 必须挂载 MDT PSDrive;适合全自动化装机流水线;MDT 常与 WDS 组合:WDS 负责 PXE 引导,MDT 负责任务序列系统部署。
WDSUtil 和 MDT 的命令迁移到 PowerShell 脚本中,以下是一些 WDSUtil 和 MDT 命令的对照表以及相应的 PowerShell 实现方式。如果你需要更多帮助,可以随时让我知道!
WDSUtil 和 PowerShell 对照表(WDS)
| WDSUtil 命令 | PowerShell 命令 |
|---|---|
WDSUtil /Get-Server |
Get-WdsServer |
WDSUtil /Configure-Server /RemoteInstallationServer /ServerIP:<IP> |
Set-WdsServer -ServerIP <IP> -ConfigurationType RemoteInstallationServer |
WDSUtil /Add-Image /ImageType:Install /ImageFile:<PathToWIM> /ImageName:<ImageName> |
Add-WdsInstallImage -ImageFile <PathToWIM> -ImageName <ImageName> |
WDSUtil /Set-PxeService /Enable |
Set-WdsPxeService -Enabled $true |
WDSUtil /Set-Server /Server:<ServerName> /Port:<PortNumber> |
Set-WdsServer -Server <ServerName> -Port <PortNumber> |
WDSUtil /Get-Images |
Get-WdsInstallImage |
WDSUtil /Add-Driver /DriverFile:<PathToDriver> |
Add-WdsDriverPackage -DriverFile <PathToDriver> |
WDSUtil /Set-WdsClient /EnablePe <PathToPeFile> |
Set-WdsClient -EnablePe <PathToPeFile> |
WDSUtil /Set-DHCP /Enable |
Set-WdsDhcp -Enabled $true |
WDSUtil /Delete-Image /ImageName:<ImageName> |
Remove-WdsInstallImage -ImageName <ImageName> |
WDSUtil /Add-Image /ImageType:Boot /ImageFile:<PathToWIM> /ImageName:<ImageName> |
Add-WdsBootImage -ImageFile <PathToWIM> -ImageName <ImageName> |
WDSUtil /Get-BootImages |
Get-WdsBootImage |
WDSUtil /Delete-Image /ImageName:<ImageName> /ImageType:Boot |
Remove-WdsBootImage -ImageName <ImageName> |
WDSUtil /Export-Image /ImageName:<ImageName> /File:<DestinationPath> |
Export-WdsInstallImage -ImageName <ImageName> -DestinationPath <DestinationPath> |
WDSUtil /Set-PxePolicy /BootProgram:<ProgramPath> |
Set-WdsPxePolicy -BootProgram <ProgramPath> |
WDSUtil /Add-ImageGroup /ImageGroup:<GroupName> |
New-WdsImageGroup -Name <GroupName> |
WDSUtil /Delete-ImageGroup /ImageGroup:<GroupName> |
Remove-WdsImageGroup -Name <GroupName> |
MDT 命令和 PowerShell 对照表
| MDT 命令 | PowerShell 命令 |
|---|---|
LiteTouch.wsf |
New-PSDrive -Name MDT -PSProvider MDT -Root "<PathToDeploymentShare>" |
DeploymentWorkbench.exe |
使用 PowerShell cmdlet Get-DeploymentShare 进行相应操作 |
MDT Deployment Workbench 配置 Windows 安装和捕获映像 |
Import-MDTDeploymentShare 和 New-MDTDeploymentShare |
MDT /import |
Import-MDTOS |
MDT /capture |
Capture-MDTImage |
MDT /rebuild |
Rebuild-MDTDeploymentShare |
MDT /update |
Update-MDTDeploymentShare |
MDT /createos |
Create-MDTOS |
MDT /deleteos |
Delete-MDTOS |
MDT /adddriver |
Add-MDTDriverPackage |
MDT /deletedriver |
Remove-MDTDriverPackage |
MDT /addapplication |
Add-MDTApplication |
MDT /removeapplication |
Remove-MDTApplication |
MDT /addpackage |
Add-MDTPackage |
MDT /removepackage |
Remove-MDTPackage |
MDT /addtasksequence |
New-MDTTaskSequence |
MDT /removetasksequence |
Remove-MDTTaskSequence |
MDT /importtasksequence |
Import-MDTTaskSequence |
MDT /createimage |
Create-MDTImage |
MDT /clear |
Clear-MDT |
PowerShell 示例
以下是几个典型的 PowerShell 示例,帮助你更好地理解如何使用 PowerShell 执行 MDT 和 WDS 操作:
-
导入操作系统:
powershellImport-MDTOS -Path "C:\DeploymentShare\Operating Systems" -OSName "Windows 10" -
添加驱动程序包:
powershellAdd-MDTDriverPackage -Path "C:\DeploymentShare\Out-of-Box Drivers" -DriverName "Intel Network Driver" -
更新 MDT 部署共享:
powershellUpdate-MDTDeploymentShare -Path "C:\DeploymentShare" -
创建操作系统映像:
powershellCreate-MDTImage -DeploymentSharePath "C:\DeploymentShare" -ImageName "Windows 10 Pro" -
导入任务序列:
powershellImport-MDTTaskSequence -Path "C:\DeploymentShare\TaskSequences" -TSName "Deploy Windows 10" -
查看当前 WDS 服务器:
powershellGet-WdsServer -
删除安装映像:
powershellRemove-WdsInstallImage -ImageName "Windows 10 Image" -
添加启动映像:
powershellAdd-WdsBootImage -ImageFile "C:\Boot.wim" -ImageName "Windows 10 Boot Image"
PowerShell MDT 模块
MDT 提供了一个 PowerShell 模块 MicrosoftDeploymentToolkit,你可以加载并使用它来执行上述操作:
# 加载 MDT 模块
Import-Module "C:\Program Files\Microsoft Deployment Toolkit\bin\MicrosoftDeploymentToolkit.psd1"
# 查看可用 cmdlet
Get-Command -Module MicrosoftDeploymentToolkit
这些 cmdlet 可以简化许多常见的 MDT 管理任务,特别是在大规模部署时,PowerShell 的灵活性使得自动化工作变得更容易。
希望这些对照表和 PowerShell 示例能够帮助你更好地迁移到 PowerShell 脚本!
继续补充一些关于 WDSUtil 和 MDT 命令迁移到 PowerShell 脚本中的具体细节、调试脚本以及其他迁移方面的支持:
1. 特定命令的细节
-
导入操作系统 (Import-MDTOS)
powershellImport-MDTOS -Path "C:\DeploymentShare\Operating Systems" -OSName "Windows 10"这个命令会将操作系统导入到 MDT 部署共享中。确保路径和操作系统名称匹配。如果出现错误,可能是由于路径不正确或目标操作系统的版本不兼容。
-
删除安装映像 (Remove-WdsInstallImage)
powershellRemove-WdsInstallImage -ImageName "Windows 10 Image"删除特定的安装映像。你可以通过以下命令验证映像是否存在:
powershellGet-WdsInstallImage | Where-Object { $_.ImageName -eq "Windows 10 Image" }如果没有找到该映像,脚本会返回空结果。
-
更新 MDT 部署共享 (Update-MDTDeploymentShare)
powershellUpdate-MDTDeploymentShare -Path "C:\DeploymentShare"更新 MDT 部署共享,以便在环境中使用最新的操作系统映像和配置。如果部署共享中的文件被锁定或正在使用,这时可能会出现更新失败的错误。
2. 调试 PowerShell 脚本
调试 PowerShell 脚本时,可以使用以下技巧帮助排查问题:
-
启用脚本调试:在脚本中加入
Write-Host或Write-Output来输出变量的值和执行流程,便于实时跟踪。powershellWrite-Host "正在导入操作系统..." Import-MDTOS -Path "C:\DeploymentShare\Operating Systems" -OSName "Windows 10" Write-Host "操作系统导入完成。" -
查看详细错误信息:使用
-Verbose参数来显示详细信息,帮助理解执行过程。powershellImport-MDTOS -Path "C:\DeploymentShare\Operating Systems" -OSName "Windows 10" -Verbose -
检查 PowerShell 错误记录:如果命令失败,可以查看
$Error自动变量,它会存储上一个错误的详细信息。powershell$Error[0]
3. 其他迁移支持
在将 WDSUtil 和 MDT 命令迁移到 PowerShell 时,还需要关注以下几个方面:
-
PowerShell 版本的兼容性:确保使用的 PowerShell 版本与脚本的功能要求兼容。某些 cmdlet 可能需要 PowerShell 5.x 或更高版本。如果不确定,可以通过以下命令检查当前 PowerShell 版本:
powershell$PSVersionTable.PSVersion -
脚本权限问题:确保 PowerShell 脚本的执行策略已正确配置。你可能需要使用
Set-ExecutionPolicy来调整执行策略:powershellSet-ExecutionPolicy RemoteSigned -Scope CurrentUser这将允许你运行本地和远程签名的脚本。
-
模块加载:确保所有必需的模块已经加载。如果使用 MDT 提供的 PowerShell 模块,需要加载它:
powershellImport-Module "C:\Program Files\Microsoft Deployment Toolkit\bin\MicrosoftDeploymentToolkit.psd1"
4. 自动化部署的优化
在实现 WDS 和 MDT 部署的自动化时,可以利用 PowerShell 的函数封装来简化流程,例如:
function Add-WdsInstallImageIfNeeded {
param (
[string]$ImageFilePath,
[string]$ImageName
)
$existingImage = Get-WdsInstallImage | Where-Object { $_.ImageName -eq $ImageName }
if ($existingImage) {
Write-Host "映像已存在: $ImageName"
} else {
Add-WdsInstallImage -ImageFile $ImageFilePath -ImageName $ImageName
Write-Host "添加映像: $ImageName"
}
}
这个函数会先检查指定名称的映像是否已经存在,如果不存在才会添加。
5. PowerShell 日志记录与监控
当涉及大规模部署时,日志记录是非常重要的。你可以将脚本的输出保存到日志文件中以便后续查看:
$logPath = "C:\DeploymentLogs\log.txt"
Start-Transcript -Path $logPath
# 执行脚本
Import-MDTOS -Path "C:\DeploymentShare\Operating Systems" -OSName "Windows 10"
Stop-Transcript
这将记录所有的命令输出和错误信息。
MDT 命令与 PowerShell 命令对照表(含描述 + 应用场景)
前置说明:MDT 无官方mdt.exe主程序,表中「MDT 命令」列为行业俗称,对应 Deployment Workbench 图形操作、LiteTouch.wsf 脚本调用或工作台菜单功能。所有 MDT PowerShell 操作必须先挂载 MDT PSDrive:powershellNew-PSDrive -Name MDT -PSProvider MDT -Root "\\Server\DeploymentShare$"
| MDT 命令 | PowerShell 命令 | 功能描述 | 典型应用场景 |
|---|---|---|---|
| LiteTouch.wsf | New-PSDrive -Name MDT -PSProvider MDT -Root "<PathToDeploymentShare>" |
挂载 MDT 部署共享为 PowerShell 逻辑驱动器,是所有 MDT Cmdlet 的前置依赖 | 自动化脚本初始化 MDT 会话;无图形界面服务器远程运维部署共享 |
| DeploymentWorkbench.exe | Get-DeploymentShare |
获取部署共享的全局配置、版本、路径、引导规则等属性 | 巡检 MDT 共享配置基线;脚本读取现有配置做差异比对 |
| MDT Deployment Workbench 配置 Windows 安装和捕获映像 | Import-MDTDeploymentShare / New-MDTDeploymentShare |
导入已有部署共享或创建全新部署共享(初始化目录结构、规则文件、Boot 目录) | 全新搭建 MDT 服务;迁移旧部署共享至新服务器;批量复制标准化部署环境 |
| MDT /import | Import-MDTOS |
将 Windows 原版 ISO / WIM / VHD 操作系统源导入 MDT 操作系统库 | 批量导入多版本 Windows 镜像;构建企业标准部署源 |
| MDT /capture | Capture-MDTImage |
通过任务序列捕获已安装配置好的模板机系统,生成自定义 WIM 捕获镜像 | 封装企业定制化系统镜像(预装软件、域加入配置、组策略);制作标准化装机母版 |
| MDT /rebuild | Rebuild-MDTDeploymentShare |
重建部署共享元数据索引、目录结构与缓存,修复共享损坏或引用异常 | 修改大量驱动 / 应用 / 任务序列后刷新索引;部署共享报错时修复 |
| MDT /update | Update-MDTDeploymentShare |
重新生成 LiteTouch PE 启动镜像(Boot.wim/ ISO),注入最新驱动与组件 | 新增网卡 / 存储驱动后更新 PE,确保新硬件能 PXE 引导并识别硬盘 |
| MDT /createos | New-MDTOperatingSystem |
在 MDT 操作系统库中新建操作系统条目(注册自定义 WIM 路径与元数据) | 注册第三方定制镜像;自动化流水线批量登记系统源 |
| MDT /deleteos | Remove-MDTOperatingSystem |
从 MDT 操作系统库删除指定操作系统条目及关联文件 | 清理过期 / 下线系统版本;释放存储;精简部署选项 |
| MDT /adddriver | Add-MDTDriverPackage |
将驱动包(INF/CAB/EXE 解压目录)导入 MDT 驱动库,支持按型号 / 架构分组 | 批量导入各品牌终端驱动;解决 PE 或部署后系统缺驱动问题 |
| MDT /deletedriver | Remove-MDTDriverPackage |
从 MDT 驱动库删除指定驱动包 | 清理冲突驱动、老旧硬件驱动;解决驱动注入蓝屏 |
| MDT /addapplication | Add-MDTApplication |
将软件安装包注册到 MDT 应用库,配置静默安装命令行 | 系统部署时自动预装办公软件、业务客户端、安全代理 |
| MDT /removeapplication | Remove-MDTApplication |
从 MDT 应用库删除指定应用条目 | 下线废弃软件;替换新版本;精简任务序列可选应用列表 |
| MDT /addpackage | Add-MDTPackage |
导入 Windows 累积更新包、语言包、.NET 补丁等离线包(MSU/CAB) | 部署系统时离线安装系统补丁;避免装机后首次更新耗时过长 |
| MDT /removepackage | Remove-MDTPackage |
从 MDT 包库删除指定更新包 | 替换过期补丁;清理导致部署失败的问题更新包 |
| MDT /addtasksequence | New-MDTTaskSequence |
创建全新部署 / 捕获 / 刷新任务序列(定义分区、系统安装、驱动注入、软件部署、域加入全流程) | 自动化生成标准化装机流程;区分办公终端 / 服务器 / 虚拟机不同部署模板 |
| MDT /removetasksequence | Remove-MDTTaskSequence |
删除指定任务序列 | 业务下线清理对应装机流程;替换旧版部署模板 |
| MDT /importtasksequence | Import-MDTTaskSequence |
从 XML 文件导入已有任务序列配置 | 跨 MDT 服务器迁移部署模板;标准化任务序列版本管理 |
| MDT /createimage | New-MDTImage |
基于任务序列生成离线部署介质(ISO / U 盘启动盘镜像) | 制作无网络环境装机介质;离线机房、隔离网络部署 |
| MDT /clear | Clear-MDTDeploymentShare |
清空部署共享临时缓存、构建中间文件、过期日志 | 运维清理磁盘空间;修复部署共享索引异常;重建前预处理 |
补充说明
- MDT 与 WDS 的组合关系:WDS 负责 PXE 网络引导下发 PE,MDT 负责任务序列驱动的系统部署全流程;二者通常串联使用。
- PowerShell 操作前置条件:必须在安装了 MDT(Microsoft Deployment Toolkit)的机器上运行,且需先加载 MDT PowerShell 插件并挂载 PSDrive。
- 高风险操作标注:
Remove-MDTOperatingSystem、Remove-MDTTaskSequence、Clear-MDTDeploymentShare属于不可逆删除类操作,生产环境执行前应备份部署共享。 - Capture 与 CreateImage 区别:
Capture-MDTImage是从运行中的模板机捕获系统生成 WIM;New-MDTImage是基于已有任务序列打包生成可启动 ISO 介质,二者用途不同。
Microsoft Deployment Toolkit (MDT) 提供了命令行工具,通常用于自动化和管理 Windows 部署任务。对于 MDT 命令,PowerShell 也提供了很多等效的命令和脚本操作。以下是 MDT 命令和它们对应的 PowerShell 命令对照表。
MDT 命令与 PowerShell 命令对照表
| MDT 命令 | PowerShell 命令 |
|---|---|
LiteTouch.wsf |
New-PSDrive -Name MDT -PSProvider MDT -Root "<PathToDeploymentShare>" |
DeploymentWorkbench.exe |
使用 PowerShell cmdlet Get-DeploymentShare 进行相应操作 |
MDT Deployment Workbench 配置 Windows 安装和捕获映像 |
Import-MDTDeploymentShare 和 New-MDTDeploymentShare |
MDT /import |
Import-MDTOS |
MDT /capture |
Capture-MDTImage |
MDT /rebuild |
Rebuild-MDTDeploymentShare |
MDT /update |
Update-MDTDeploymentShare |
MDT /createos |
Create-MDTOS |
MDT /deleteos |
Delete-MDTOS |
MDT /adddriver |
Add-MDTDriverPackage |
MDT /deletedriver |
Remove-MDTDriverPackage |
MDT /addapplication |
Add-MDTApplication |
MDT /removeapplication |
Remove-MDTApplication |
MDT /addpackage |
Add-MDTPackage |
MDT /removepackage |
Remove-MDTPackage |
MDT /addtasksequence |
New-MDTTaskSequence |
MDT /removetasksequence |
Remove-MDTTaskSequence |
MDT /importtasksequence |
Import-MDTTaskSequence |
MDT /createimage |
Create-MDTImage |
MDT /clear |
Clear-MDT |
说明:
-
MDT 提供了大量的命令来管理和配置任务序列、操作系统、驱动程序和应用程序等。这些命令通常通过 Deployment Workbench 界面执行,而在 PowerShell 中,可以通过各种 cmdlet(如
New-MDTDeploymentShare,Import-MDTOS等)来实现类似的操作。 -
例如,MDT 中的
LiteTouch.wsf脚本,用户可以通过 PowerShell 脚本加载和操作 MDT 部署共享资源(例如Get-DeploymentShare命令)。 -
PowerShell 对 MDT 的操作更加灵活和自动化,通常在需要大规模部署或自动化管理时非常有用。
PowerShell 示例
以下是几个典型的 PowerShell 示例,帮助你更好地理解如何使用 PowerShell 执行 MDT 命令:
-
导入操作系统:
powershellImport-MDTOS -Path "C:\DeploymentShare\Operating Systems" -OSName "Windows 10" -
添加驱动程序包:
powershellAdd-MDTDriverPackage -Path "C:\DeploymentShare\Out-of-Box Drivers" -DriverName "Intel Network Driver" -
更新 MDT 部署共享:
powershellUpdate-MDTDeploymentShare -Path "C:\DeploymentShare" -
创建操作系统映像:
powershellCreate-MDTImage -DeploymentSharePath "C:\DeploymentShare" -ImageName "Windows 10 Pro" -
导入任务序列:
powershellImport-MDTTaskSequence -Path "C:\DeploymentShare\TaskSequences" -TSName "Deploy Windows 10"
PowerShell MDT 模块
MDT 提供了一个 PowerShell 模块 MicrosoftDeploymentToolkit,你可以加载并使用它来执行上述操作:
# 加载 MDT 模块
Import-Module "C:\Program Files\Microsoft Deployment Toolkit\bin\MicrosoftDeploymentToolkit.psd1"
# 查看可用 cmdlet
Get-Command -Module MicrosoftDeploymentToolkit
这些 cmdlet 可以简化许多常见的 MDT 管理任务,特别是在大规模部署时,PowerShell 的灵活性使得自动化工作变得更容易。
Microsoft Deployment Toolkit(MDT)是一个综合性工具集,用于自动化部署操作系统和应用程序,简化 IT 基础设施的维护。MDT 可以与 Windows Server 和其他 Microsoft 产品(如 Windows Deployment Services 和 System Center Configuration Manager)结合使用,帮助 IT 管理员快速和高效地部署 Windows 操作系统。以下是 MDT 在 Windows Server 中发展的时间线,列出了一些关键的版本和功能演变:
1. 2005年:MDT 2005
- 初次发布:MDT 2005 是 Microsoft 提供的第一版部署工具集,最初用于 Windows XP 和 Windows Server 2003 的操作系统部署。
- 功能特点:
- 支持简化的操作系统安装流程。
- 提供了 GUI 界面来帮助 IT 管理员进行配置和管理。
- 基于 Windows Server 2003 的技术栈,使用了 Sysprep 和 Imaging 工具。
2. 2007年:MDT 2007
- 与 Windows Vista 支持的结合:MDT 2007 引入了对 Windows Vista 和 Windows Server 2008 的支持。随着 Windows Vista 的发布,MDT 提供了新的操作系统部署选项,并增强了对 Vista 的支持。
- 功能增强:
- 支持无人值守安装(Unattended Installations),自动化部署操作系统。
- 提供了对 Windows PE(预安装环境)的支持,允许用户进行更广泛的定制。
- 增强了操作系统映像管理功能,使管理员可以更高效地管理多个操作系统映像。
3. 2009年:MDT 2010
- 整合与 Windows 7 和 Windows Server 2008 R2:随着 Windows 7 和 Windows Server 2008 R2 的发布,MDT 2010 引入了对这些版本的全面支持。
- 功能改进:
- 提供了增强的操作系统部署流程。
- 支持更新和增强的任务序列,允许更灵活的操作系统安装、驱动程序和应用程序安装。
- 引入了新的图形用户界面(GUI),使得 MDT 更加易用。
- 支持多种启动选项,包括通过 Windows PE 启动进行网络部署。
4. 2012年:MDT 2012
- 全面支持 Windows 8 和 Windows Server 2012:MDT 2012 引入了对 Windows 8 和 Windows Server 2012 的支持。
- 新特性:
- 改进了对虚拟化环境的支持,允许更高效的虚拟机部署。
- 集成了 Windows ADK(Assessment and Deployment Kit),为操作系统部署提供了更多功能和改进。
- 增强了任务序列和部署过程中的灵活性,支持基于硬件模型的驱动程序安装。
5. 2013年:MDT 2013
- 引入对 Windows 8.1 和 Windows Server 2012 R2 的支持:MDT 2013 增强了对新操作系统版本的支持。
- 功能提升:
- 改进了部署过程中的图形用户界面,使其更易于使用。
- 加强了对 UEFI(统一可扩展固件接口)启动的支持,使得能够在新的硬件平台上进行更好的部署。
- 提供了更加强大的应用程序部署和管理功能。
6. 2016年:MDT 2016
- 支持 Windows 10 和 Windows Server 2016:随着 Windows 10 和 Windows Server 2016 的发布,MDT 2016 提供了更好的支持和兼容性。
- 新特性:
- 加强了对 Windows 10 更新和升级的支持。
- 增强了对基于云的部署的支持,可以通过 Microsoft Azure 等云平台进行部署。
- 提高了对硬件和驱动程序管理的能力,简化了设备驱动程序和应用程序的分发。
7. 2019年:MDT 2019
- 全面支持 Windows 10 和 Windows Server 2019:MDT 2019 进一步优化了对 Windows 10 和 Windows Server 2019 的支持。
- 主要改进:
- 强化了 UEFI 和安全启动的支持。
- 增强了 Windows 更新的管理和部署功能,提供了更强的操作系统更新控制。
- 改进了对多种硬件平台的兼容性,进一步简化了部署过程。
- 提供了对跨多个站点部署的增强支持,适用于跨地域部署的场景。
8. 2021年及以后的发展
- 目前,MDT 继续支持最新的 Windows 操作系统版本(如 Windows 10 和 Windows Server 2022),并随着新版本的发布进行更新。
- 关键特点:
- 不断增强对虚拟化环境、云平台和混合部署的支持。
- 改进了对自动化和自定义任务序列的支持,简化了跨平台的部署。
MDT 自 2005 年首次发布以来,经历了多次重要的版本更新,每一版本都加强了对新操作系统的支持,并改善了部署效率、灵活性以及管理功能。从最初的基础部署工具到如今的综合部署平台,MDT 成为 IT 部门不可或缺的工具之一,尤其适合企业环境中大规模操作系统部署的需求。
Microsoft Deployment Toolkit(MDT)是一个强大的自动化操作系统部署工具集,用于简化并优化企业环境中的操作系统和应用程序部署。它可以与其他 Microsoft 工具集(如 Windows Deployment Services 和 System Center Configuration Manager)协同工作。MDT 通过多种方式自动化操作系统安装、配置、应用程序安装以及驱动程序的管理,整个过程是模块化的,可以根据具体需求进行定制。
MDT 完整逻辑链
MDT 的完整逻辑链主要分为以下几个阶段,每个阶段都涵盖了不同的部署任务和操作。以下是 MDT 的流程及其逻辑链:
1. 准备工作阶段(Pre-Deployment Phase)
-
创建部署工作组:
- 在 MDT 中,创建一个部署共享(Deployment Share),该共享包含所有必要的部署文件,如操作系统映像、驱动程序、应用程序、脚本、任务序列等。
- 可以通过 MDT 控制台中的
Deployment Workbench配置部署共享。
-
导入操作系统映像:
- 导入 Windows 操作系统映像文件(WIM 文件)到 MDT 中。操作系统映像可以来自安装光盘、ISO 文件或网络共享。
-
驱动程序导入:
- 导入特定硬件的驱动程序,以便 MDT 可以在部署过程中自动安装适配的驱动程序。支持硬件ID、制造商、型号等来区分驱动程序。
-
创建任务序列:
- MDT 中的任务序列是一个定义了操作步骤(如安装操作系统、应用程序、驱动程序)的自动化流程。任务序列可以通过图形化界面进行编辑,支持灵活的配置和定制。
2. 部署阶段(Deployment Phase)
-
创建启动介质:
- 通过 MDT 创建启动介质(例如 USB 启动盘、网络启动等),该介质包含 Windows PE(预安装环境)映像,在部署过程中用作引导操作系统的载体。
-
启动目标计算机:
- 将目标计算机设置为通过启动介质(如 USB 或 PXE 网络启动)启动。在启动时,计算机进入 Windows PE 环境。
-
加载 MDT 部署环境:
- 启动计算机后,Windows PE 环境加载 MDT 部署共享中的任务序列、操作系统映像和其他文件。Windows PE 提供了最基本的操作系统功能,可以执行部署任务。
-
选择任务序列:
- 在部署过程中,用户可以选择适当的任务序列,任务序列定义了操作系统部署的各个步骤。例如,可以选择安装不同版本的 Windows 或不同配置的操作系统。
3. 操作系统部署(OS Deployment Phase)
-
格式化硬盘:
- MDT 会自动执行磁盘格式化步骤,以确保部署过程中目标硬盘为干净状态,可以按需求进行分区、格式化。
-
应用操作系统映像:
- MDT 将选定的操作系统映像(WIM 文件)应用到目标计算机的硬盘上。此过程包括将操作系统映像提取并安装到指定分区。
-
安装驱动程序:
- MDT 根据硬件信息自动安装适配的驱动程序。根据任务序列中定义的驱动程序策略,MDT 会通过硬件识别、计算机模型等信息自动应用正确的驱动程序。
-
安装应用程序:
- 如果任务序列中包含应用程序安装步骤,MDT 会自动将预定义的应用程序安装到操作系统中。可以是 Office、Antivirus 软件、特定的企业应用程序等。
4. 配置阶段(Configuration Phase)
-
自定义操作系统设置:
- 在部署过程中,MDT 会自动执行与操作系统设置相关的步骤,如设置计算机名、时区、语言、键盘布局等。
- 还可以通过用户自定义变量来调整某些部署设置,例如配置用户帐户、加入域等。
-
运行脚本和应用程序配置:
- MDT 允许在部署过程中执行自定义脚本,例如 PowerShell 脚本、批处理脚本等。这些脚本可以用来进行额外的配置、调整设置或应用自定义设置。
-
激活操作系统:
- 部署过程还包括激活操作系统。MDT 可以通过自动化步骤将操作系统激活,包括通过密钥管理服务(KMS)或通过 MAK 密钥进行激活。
5. 后期阶段(Post-Deployment Phase)
-
执行 Windows 更新:
- 部署完成后,MDT 可以触发操作系统的 Windows 更新过程,确保操作系统安装了所有必要的安全和功能更新。
-
生成和应用捕获映像:
- 部署完成后,管理员可以选择创建操作系统的捕获映像(Capture Image),以便将已配置好的操作系统作为基准映像备份。以后可以直接使用这些映像进行再次部署。
-
清理和重启:
- 部署完成后,MDT 会执行清理任务,移除不再需要的文件、日志等,并进行计算机重启。
- 最后,计算机会启动到新安装的操作系统,用户可以开始使用。
6. 监控与报告(Monitoring and Reporting Phase)
-
部署监控:
- MDT 提供了强大的部署监控功能,允许管理员监控和查看每台计算机的部署状态。通过 MDT 控制台,管理员可以查看任务序列的执行进度、日志文件、错误信息等。
-
报告生成:
- MDT 可以生成部署报告,记录每次部署过程中的详细信息、部署成功与失败的状态、以及相关的错误信息等。
MDT 的完整逻辑链是一个从准备工作到部署、配置以及后期清理的过程。其核心是通过任务序列自动化操作系统的安装、驱动程序的应用、应用程序的安装以及操作系统配置等步骤。通过 MDT,企业能够高效地管理大规模的操作系统部署,减少人为错误,提升部署速度和质量。
Microsoft Deployment Toolkit (MDT) 完整解构
总览定位
- 上层:DeploymentWorkbench.exe(GUI)、MDT PowerShell Provider;
- 中间层:LiteTouch.wsf 核心脚本引擎;
- 底层:调用 DISM、wimgapi、bcdboot、bcdedit、setupapi、Windows Setup;
- 网络引导配套:与 WDS 联动,WDS 提供 PXE/TFTP,MDT 提供部署业务逻辑。
关键区分:WDS = PXE 引导服务器 + 镜像托管服务(网络下发 Boot.wim)MDT = 部署任务编排引擎(PE 内执行分区、安装系统、注入驱动、软件安装、域加入)
一、整体架构分层
【管理层(运维工作站)】
DeploymentWorkbench.exe ←→ MDT PowerShell Provider
↓读写共享文件元数据
【存储层】DeploymentShare$(SMB部署共享)
↓
【引导层】LiteTouch PE (Boot.wim)
↓
【执行引擎】LiteTouch.wsf(VBScript核心调度器)
↓调用底层系统工具
DISM.exe / wimgapi.dll / Windows Setup / bcdedit / robocopy / setupapi
二、核心文件清单(依赖文件)
1. 程序本体(安装路径默认 C:\Program Files\Microsoft Deployment Toolkit\)
DeploymentWorkbench.exe:图形管理控制台Microsoft.BDD.PSSnapin.dll:MDT PowerShell Snapin(MDT PSDrive 实现载体)Microsoft.BDD.Workbench.dll:工作台核心逻辑库bin\MicrosoftDeploymentToolkit.dll:MDT 核心业务库bin\ZTIUtility.vbs:LiteTouch 全局工具函数库(至关重要)
2. 部署共享 DeploymentShare$ 核心配套链(最重要运行载体)
DeploymentShare$
├─ Boot/ # LiteTouch PE启动镜像(Boot.wim、ISO)
├─ Operating Systems/ # 原始Windows ISO/WIM源文件
├─ Out-of-Box Drivers/ # 驱动库(INF/CAB)
├─ Applications/ # 应用软件静默安装包
├─ Packages/ # MSU更新包、语言包
├─ Task Sequences/ # 任务序列XML模板(*.xml)
├─ Scripts/
│ ├─ LiteTouch.wsf # 【核心入口】部署流程主调度脚本
│ ├─ ZTI*.vbs # 全套任务执行组件(分区、捕获、驱动注入)
│ ├─ CustomSettings.ini # MDT核心配置(规则、变量、数据库查询)
│ └─ Bootstrap.ini # PE启动初始配置
├─ Control/ # 任务序列运行时缓存、日志
└─ Logs/ # ZTI部署日志(Bdd.log)
3. 外部强制依赖(MDT 不能独立运行)
- Windows ADK(Windows Assessment and Deployment Kit)
- DISM.exe、wimgapi.dll:WIM 挂载、驱动注入、映像维护
- Oscdimg.exe:生成 ISO 介质
- copype.cmd:构建 LiteTouch PE 环境
- PowerShell 引擎(MDT PowerShell Provider)
- SMB Server(LanmanServer /srv.sys):客户端 PE 访问部署共享
- 可选配套:WDS(wdsserver.exe) 提供 PXE 网络引导
- 可选配套:MDT Database(SQL/Access):计算机变量、资产自动匹配
三、依赖关系图谱
直接依赖
- MDT 控制台 / MDT PowerShell → 读写
DeploymentShare$文件结构与元数据 - LiteTouch.wsf → ZTIUtility.vbs(基础函数库)
- ZTI 脚本 → DISM /wimgapi.dll(映像操作、驱动注入)
- Windows Setup → install.wim 系统安装
- Boot.wim → copype.cmd(ADK 工具构建)
间接依赖
四、底层原理:两大核心工作模式
模式 A:全新操作系统部署(Deploy)
模式 B:系统捕获(Capture,制作模板镜像)
关键概念
- Bootstrap.ini
PE 启动最先读取,定义部署共享路径、是否自动启动 LiteTouch、跳过欢迎界面。
- CustomSettings.ini
MDT 规则引擎核心;支持变量赋值、筛选、数据库查询、属性覆盖;
Priority字段定义变量读取顺序(Gather 流程)。 - Gather 阶段
LiteTouch 启动第一步:收集计算机信息(MAC、UUID、主机名)、读取 CustomSettings、查询 MDT 数据库,填充全局变量。
五、完整逻辑链路(PXE+WDS+MDT 标准端到端流程)
1. 裸机网卡PXE ROM发起DHCP请求
2. DHCP分配IP,Option66/67指向WDS服务器
3. TFTP下载 bootmgfw.efi/wdsnbp.com → Boot.wim(LiteTouch PE)
4. Boot.wim加载,启动Windows PE最小系统
5. PE读取Bootstrap.ini,自动挂载 \\WDS\DeploymentShare$ SMB共享
6. 执行 \\DeploymentShare$\Scripts\LiteTouch.wsf
├─ 阶段1:Gather(收集硬件信息、读取配置、查询MDT数据库)
├─ 阶段2:选择任务序列(自动/人工选择)
├─ 阶段3:任务序列按顺序执行动作
· 磁盘分区格式化(ZTI disk脚本)
· 应用WIM系统映像(DISM / Windows Setup)
· 注入Out-of-Box驱动
· 离线导入Windows更新包(Packages)
· 首次启动前注入注册表、应答文件
├─ 阶段4:系统重启进入新安装OS
├─ 阶段5:OS内继续执行:加入域、安装应用、本地配置
7. 全部流程输出统一日志 BDD.log 存放于共享Logs目录或本地硬盘
六、任务序列底层执行原理
Task Sequences/*.xml
- ZTIDisk.vbs:磁盘操作
- ZTILoadState.vbs:用户数据迁移
- ZTICapture.vbs:系统捕获
- ZTIWindowsUpdate.vbs:离线更新
所有动作不使用独立二进制程序,基于 VBS 脚本粘合系统原生工具,这是 MDT 轻量化的核心设计。
七、MDT PowerShell / DeploymentWorkbench 配套链路
DeploymentWorkbench.exe / MDT PowerShell Provider
↓
读写DeploymentShare内元数据(任务序列XML、驱动清单、os信息)
↓
触发 Update-MDTDeploymentShare(更新PE)
↓
调用copype.cmd(ADK)重建Boot.wim,打包最新驱动、脚本
Update-MDTDeploymentShare 是高频关键动作:
八、攻击面与滥用链路(安全视角配套分析)
-
共享投毒攻击者拥有
DeploymentShare$修改权限,篡改:LiteTouch.wsf/ ZTI 脚本 / CustomSettings.iniPE 启动自动执行恶意代码,批量控制所有装机终端。 -
恶意驱动注入导入恶意驱动包(Add-MDTDriverPackage),部署时自动加载内核驱动。
-
篡改任务序列新增执行命令、植入后门程序,所有新装机自动执行。
-
镜像篡改替换 Operating Systems 内 install.wim,植入预置恶意系统镜像。
-
横向场景:攻陷 MDT 服务器 = 控制企业所有新上线终端,属于供应链式持久化。
九、MDT vs WDS 链路配套汇总
| 组件 | 核心职责 | 运行载体 |
|---|---|---|
| WDS | PXE DHCP 代理、TFTP 下发 Boot.wim、多播传输 | wdsserver.exe(系统服务) |
| MDT | 部署流程编排、分区、驱动注入、软件安装、系统捕获 | LiteTouch.wsf(VBS 脚本)+ADK 工具集 |
十、关键执行命令底层映射回顾(承接上一轮对照表)
Update-MDTDeploymentShare→ 内部调用 copype.cmd 重建 LiteTouch PECapture-MDTImage→ 调用 ZTICapture.vbs + DISM 捕获系统Import-MDTOS→ 复制 WIM/ISO 至 Operating Systems 目录并写入元数据New-MDTTaskSequence→ 在 Task Sequences 生成任务序列 XML
LiteTouch.wsf 完整解构
总览定位
LiteTouch.wsf 是 MDT 部署流水线核心调度入口,WSF(Windows Script File)混合脚本载体,内嵌 VBScript+XML 配置框架;
路径固定:\\DeploymentShare\Scripts\LiteTouch.wsf启动触发两条主流路径:
- PE 环境:
Bootstrap.ini指定自动运行 LiteTouch.wsf - 操作系统内:手动执行,用于刷新、捕获、应用修复
一、文件基础结构(WSF 底层格式)
<job id="LiteTouch">
<script language="VBScript" src="ZTIUtility.vbs"/>
<script language="VBScript">
' 主业务代码
</script>
</job>
核心依赖硬编码
ZTIUtility.vbs,所有能力均依托该公用库。
ZTIUtility.vbs 提供:- 日志写入(BDD.log)
- INI 文件读写(CustomSettings.ini、Bootstrap.ini)
- 变量管理器(TSEnvironment)
- WMI 查询、磁盘信息采集、网络操作、注册表操作
- 任务序列 XML 加载解析函数
若无 ZTIUtility.vbs,LiteTouch.wsf 无法执行任何功能。
二、依赖文件配套链
强制依赖(同目录 Scripts)
ZTIUtility.vbs—— 基础工具库(核心)ZTIDisk.vbs—— 磁盘分区、格式化ZTICapture.vbs—— 系统捕获生成 WIMZTIDiskpart.vbs—— 调用 diskpart 执行分区脚本ZTIWindowsSetup.vbs—— 调用 Windows Setup 安装系统ZTILoadState.vbs—— 用户状态迁移 USMTZTIApplications.vbs—— 应用程序静默安装调度ZTIWindowsUpdate.vbs—— 离线补丁注入ZTINetwork.vbs—— 网络映射、SMB 挂载、DNS 处理ZTIJoinDomain.vbs—— 域加入逻辑
配置文件依赖
Bootstrap.ini:PE 启动初始参数(部署共享路径、自动执行开关)CustomSettings.ini:变量规则引擎、优先级、数据库查询指令Task Sequences\*.xml:任务序列动作清单(运行时动态加载)
系统底层依赖(间接调用)
DISM.exe、bcdboot.exe、bcdedit.exe、diskpart.exe、robocopy.exe、wimgapi.dll、Windows Setup (setup.exe)三、启动完整逻辑链路(阶段时序)
阶段 0:脚本初始化
- Wscript.exe/ Cscript.exe 启动 LiteTouch.wsf
- 加载
ZTIUtility.vbs,初始化全局对象oEnvironment(部署变量容器) - 创建日志会话,初始化
BDD.log(最重要排错日志) - 读取本地
Bootstrap.ini,填充基础变量:- DeployRoot(部署共享路径
\\MDTSRV\DeploymentShare$) - UserID/UserPassword(SMB 访问凭据)
- SkipBDDWelcome(是否跳过欢迎界面)
- DeployRoot(部署共享路径
阶段 1:Gather 信息收集(MDT 标志性流程)
ZTIUtility::ProcessGather()
- 读取
CustomSettings.ini中Priority=定义的读取顺序; - 分层采集变量:
- Step1:本地 WMI 采集硬件信息(MAC、UUID、型号、磁盘)
- Step2:读取 Bootstrap.ini 静态变量
- Step3:读取 CustomSettings.ini 全局变量
- Step4:可选:查询 MDT 数据库(SQL/Access)按 MAC/UUID 匹配计算机预设参数
- 所有数据存入全局环境变量池
oEnvironment.Item("VariableName")
示例变量:OSDComputerName、JoinDomain、DriverGroup001、SkipDomainMembership
阶段 2:任务序列加载与选择
- 连接部署共享,枚举
Task Sequences下所有 XML; - 若设置
SkipTaskSequence=YES,自动加载指定任务序列; - 无自动配置 → 弹出图形界面供运维人员选择任务序列;
- 加载选中任务序列 XML,解析为动作链表。
阶段 3:顺序执行任务序列动作(核心循环)
- 读取 XML 动作类型;
- 匹配对应的 ZTI*.vbs 组件;
- 传入环境变量调用组件;
- 捕获返回码;
- 判断失败策略(重试 / 终止 / 继续);
- 持续写入日志。
| 任务序列动作 | 调用组件 |
|---|---|
| 格式化和分区磁盘 | ZTIDisk.vbs / ZTIDiskpart.vbs |
| 应用操作系统映像 | ZTIWindowsSetup.vbs(调用 setup.exe/ DISM) |
| 注入驱动 | ZTIUtility 调用 DISM 驱动注入接口 |
| 捕获系统映像 | ZTICapture.vbs |
| 加入域 | ZTIJoinDomain.vbs |
| 安装应用程序 | ZTIApplications.vbs |
阶段 4:重启分支处理(关键断点机制)
- LiteTouch 写入重启标记到本地注册表 / 临时文件;
- 执行重启;
- 重启完成后再次启动 LiteTouch.wsf;
- Gather 阶段识别断点标记,从上次中断动作继续执行任务序列。
该断点续跑逻辑全部由 LiteTouch.wsf 控制。
阶段 5:流程收尾
- 任务序列全部动作执行成功;
- 执行清理脚本、释放 SMB 共享连接;
- 根据变量决定:重启 / 关机 / 返回桌面;
- 关闭日志会话。
四、核心内置对象模型(脚本内部架构)
- oEnvironment(TSEnvironment)
全局变量哈希表,贯穿全流程;所有配置、硬件信息、任务序列参数统一存放。
oEnvironment.Item("OSDComputerName") = "PC-001"
- oLogging
统一日志封装,所有 ZTI 组件禁止直接写文件,必须调用日志对象;日志统一输出到
BDD.log。 - oTaskSequence
任务序列解析对象,加载 XML、遍历动作、记录执行断点。
- oShell / oFSO
WScript 内置对象,封装文件操作、进程调用。
五、两种运行模式差异
模式 1:PE 环境运行(网络部署主流)
- 依托 LiteTouch Boot.wim;
- 通过 SMB 访问远程 DeploymentShare;
- 无本地硬盘系统,所有资源从共享加载;
- 多用于全新裸机操作系统部署。
模式 2:完整 Windows 系统内运行
- 系统捕获(Capture)制作模板镜像
- 用户数据迁移(USMT)
- 刷新操作系统(Refresh)
此时部署共享可以本地路径,也可网络路径。
六、通信与存储链路
LiteTouch.wsf
←→ ZTIUtility.vbs(本地内存变量、日志)
←→ SMB Client → \\DeploymentShare$(读取任务序列、应用包、驱动)
←→ 可选MDT Database(SQL查询计算机配置)
←→ 调用进程:DISM、diskpart、setup.exe
←→ 本地WMI:读取硬件信息
七、攻击面与恶意滥用链路(安全视角)
LiteTouch.wsf 是整个 MDT 部署链最高风险单点攻击方式 1:脚本篡改(最典型)
DeploymentShare\Scripts 写入权限:- 修改 LiteTouch.wsf 或附属 ZTIUtility.vbs;
- 所有 PXE 启动终端自动加载篡改后的脚本;
- 在部署流程中植入命令、下载后门、持久化恶意驱动。
归类:供应链投毒,批量控制所有新装机设备。
攻击方式 2:篡改配置文件间接控制流程
CustomSettings.ini,利用内置变量实现恶意行为:- 自定义后置命令;
- 强制执行外部脚本;
- 变更任务序列自动选择逻辑。
攻击方式 3:篡改任务序列 XML
防御关键点:严格锁定Scripts目录 ACL,禁止非管理员写入;开启文件变更审计。
八、LiteTouch.wsf 边界澄清(极易混淆)
- ❌ 不具备操作系统映像解压能力 → 委托 DISM /setup.exe
- ❌ 不包含驱动注入代码 → 调用 DISM,由 ZTI 组件封装
- ✅ 唯一职责:流程调度、变量管理、断点控制、日志、组件协调
- ✅ 是连接「PE 环境」与「MDT 部署共享资源」的桥梁
九、与上层组件联动关系
WDS(PXE引导) → Boot.wim(LiteTouch PE)
↓自动启动
LiteTouch.wsf
↓读取任务序列XML
↓调用各类ZTI*.vbs功能组件
↓系统工具(DISM、diskpart、Setup)
DeploymentWorkbench.exe / MDT PowerShell → 仅修改共享内元数据,不直接控制 LiteTouch 运行时;
Update-MDTDeploymentShare 将变更打包进入 Boot.wim 才能生效到 PE 环境。|
Microsoft Deployment Toolkit (MDT) 提供了丰富的功能,能够支持企业环境中的操作系统部署、应用程序安装、驱动程序管理和其他 IT 自动化任务。以下是 MDT 功能的分类及其描述的表格化整理:
MDT 的功能涵盖了操作系统部署的各个方面,从自动化安装到驱动程序管理、应用程序部署、计算机配置、更新和恢复等,都能够大大简化 IT 部门的工作,提高部署效率。通过灵活的任务序列、无人值守安装和自定义脚本,MDT 为企业提供了一个功能强大的自动化工具,支持大规模、跨平台和跨区域的部署需求。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Microsoft Deployment Toolkit (MDT) 是一种用于自动化操作系统部署的工具,广泛用于企业环境中进行操作系统安装、应用程序部署和驱动程序安装。MDT 提供了一套完整的功能来支持大规模的操作系统部署。以下是 MDT 功能的分类和表格化整理:
MDT 提供了全面的操作系统部署、应用程序安装、驱动管理、任务序列配置等功能,帮助管理员简化操作系统部署过程并提升自动化水平。在大规模部署环境中,MDT 是一个高效的工具,可大幅度减少人工干预,降低部署错误并提升效率。 Microsoft Deployment Toolkit (MDT) 是一种用于自动化操作系统和应用程序部署的工具,适用于多个场景。以下是 MDT 的应用场景分类及其描述的表格化整理:
MDT 具有广泛的应用场景,不仅可以帮助企业进行大规模操作系统部署,还能支持虚拟机、跨区域、硬件管理、软件更新等多种环境下的自动化部署。通过 MDT 的任务序列和自定义功能,企业能够更高效地管理操作系统和应用程序的部署过程,提升 IT 基础设施的管理效率。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
MDT 提供了一系列工具和功能,包括:
MDT 是一款强大且灵活的工具,广泛应用于企业 IT 管理中,可以大大简化 Windows 系统的部署和管理流程,提高了部署的效率和准确性。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
随着时间的推移,微软意识到了对更强大、更灵活的部署工具的需求,于是在这些早期工具的基础上发展了Microsoft Deployment Toolkit(MDT)。 MDT 的首个版本发布于2003年,最初被称为 Business Desktop Deployment Solution Accelerator(BDD)。随着版本的更新和改进,MDT 成为了微软在企业级 Windows 部署领域的主力工具之一。 MDT 的设计目标是提供一个免费、灵活且易于使用的部署工具,帮助企业简化 Windows 操作系统和其他 Microsoft 产品的部署流程。通过 MDT,企业 IT 管理员可以轻松地自动化和定制化部署过程,从而节省时间和资源,提高部署的效率和一致性。 MDT 是在微软早期部署工具的基础上发展而来的,是微软为了满足企业对更灵活、更强大部署工具需求而开发的一款重要工具。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Microsoft Deployment Toolkit (MDT) 的发展经历了几个重要的阶段,主要包括以下几个:
MDT 经历了多个发展阶段,从最初的 BDD 阶段到目前的持续更新和改进阶段,不断提升了部署工具的功能、性能和易用性,为企业提供了强大的部署解决方案。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
MDT 提供了全面的部署解决方案,涵盖了操作系统部署、应用程序部署、驱动管理、用户状态迁移、自动化脚本、多语言支持以及报告和日志等功能,帮助企业简化和优化 Windows 环境的部署过程。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
MDT 的底层原理涵盖了部署映像的创建与管理、任务序列的定义与执行、驱动管理、用户状态迁移以及自动化脚本等方面。通过这些机制,MDT 提供了一个灵活、可定制的部署解决方案,帮助企业简化和优化 Windows 环境的部署过程。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Microsoft Deployment Toolkit(MDT)的架构包含多个组件,这些组件协同工作以实现自动化的操作系统部署。以下是 MDT 的主要组件和其架构:
通过以上组件的协同工作,MDT 提供了一个强大而灵活的部署框架,能够满足各种规模和需求的自动化操作系统部署场景。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Microsoft Deployment Toolkit(MDT)是一个强大而灵活的操作系统部署工具,适用于各种规模和类型的组织,能够帮助它们实现自动化、高效的部署流程,并确保部署的一致性和可靠性。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
针对初级应用者的 Microsoft Deployment Toolkit (MDT) 的简要大纲:
通过以上大纲,初级应用者可以系统性地学习和掌握 Microsoft Deployment Toolkit (MDT) 的基本概念、操作步骤以及常见应用场景,为实际部署工作奠定基础。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
针对中级应用者的 Microsoft Deployment Toolkit (MDT) 的简要大纲:
通过以上大纲,中级应用者可以深入学习和掌握 Microsoft Deployment Toolkit (MDT) 的高级功能和技术,为更复杂和多样化的部署场景提供解决方案,并提升部署效率和可靠性。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
针对高级应用者的 Microsoft Deployment Toolkit (MDT) 的大纲:
通过以上大纲,高级应用者可以深入探索 Microsoft Deployment Toolkit (MDT) 的高级功能和技术,解决复杂部署场景中的挑战,实现高效、可靠和安全的系统部署。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
针对专家级应用者的 Microsoft Deployment Toolkit (MDT) 的大纲:
通过以上大纲,专家级应用者可以深入挖掘 Microsoft Deployment Toolkit (MDT) 的强大功能和技术,解决复杂部署场景中的挑战,实现高度定制化、高效和可靠的系统部署。 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
顶尖级应用者,以下是更深入的 Microsoft Deployment Toolkit (MDT) 大纲:
通过以上大纲,顶尖级应用者可以进一步挖掘 Microsoft Deployment Toolkit (MDT) 的潜力,实现在复杂和高要求的部署场景中的卓越表现和领先优势。 |

浙公网安备 33010602011771号