MDT部署Windows系列 (十一): 进阶篇

您所在的位置:网站首页 windows10后续版本 MDT部署Windows系列 (十一): 进阶篇

MDT部署Windows系列 (十一): 进阶篇

2023-11-25 14:52| 来源: 网络整理| 查看: 265

前言

前面我有介绍通过MDT一步步部署Win10系统,但这种方法并非最优的部署方式。通常在企业环境中,标准的操作系统除了底层的OS外,还涉及到企业规定使用的标准的软件及环境,如:

APP: 7zip,Office365,VLC Media Player,企业微信 or 钉钉 等等; 其他: Visual C++ runtimes,Microsoft .NET Framework,Windows updates 等等;

不同的公司仍会有更多需要安装的软件。那么如果每台机器在安装系统的工程中(或系统安装完成后手动)安装,这样会浪费大量时间。因此,我们可以通过本文方法,先通过MDT制作一个适用于公司环境的标准化镜像WIM镜像模板文件,然后再通过MDT将该自定义模板系统进行批量部署,最终实现操作系统+应用层面的标准化。

环境准备 Windows 10 Enterprise v21H2. Visual C++ runtimes (2012、2013、2015、2017、2019 和 2022) Microsoft下载中心 MDT环境搭建请参考MDT系列文章,本文将略过此环节 Office365应用添加请参考自定义Office 365客户端并使用 MDT部署 详细步骤 创建捕捉镜像任务序列

新建制作模板镜像并捕捉生成至WIM的任务序列,新建向导配置如下:

Task sequence ID: REF-001 Task sequence name: Building Win10 21H2 Enterprise Custom Image Template: Standard Client Task Sequence Select OS: Windows 10 Enterprise x64 21H2 Specify Product Key: Do not specify a product key at this time Full Name: Admin Organization: ITPro.cc Internet Explorer home page: blog.itpro.cc Do not specify an Administrator password at this time

下面我将通过Powershell脚本导入APP & 手动添加APP两种方式将常用软件添加至应用中。使用Powershell导入的好处是当你有很多APP需要添加时,用该方法会非常方便、高效

使用PowerShell导入O365、7zip

1.在MDT服务器上,以MDT管理员身份登录并执行以下PowerShell来连接MDT平台:

Import-Module "D:\Program Files\Microsoft Deployment Toolkit\bin\MicrosoftDeploymentToolkit.psd1" New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "D:\MDTBuildLab"

可以使用Get-Command -module MicrosoftDeploymentToolkit查看可用 cmdlet 的列表

2.导入VLC

$ApplicationName = "Install - VLC media player - x64" $CommandLine = "vlc-3.0.17.4-win64.exe /S" $ApplicationSourcePath = "D:\Sources\VLC" Import-MDTApplication -Path "DS001:\Applications\Applications For Reference Image" -Enable "True" -Name $ApplicationName -ShortName $ApplicationName -CommandLine $CommandLine -WorkingDirectory ".\Applications\$ApplicationName" -ApplicationSourcePath $ApplicationSourcePath -DestinationFolder $ApplicationName -Verbose

注意:DS001:\Applications\Applications For Reference Image\这个路径对应的是MDT控制台中Applications目录中对应的子目录,我这里为Applications For Reference Image

3.导入企业微信

$ApplicationName = "Install - 企业微信" $CommandLine = "WeCom_4.0.8.6023.exe /S" $ApplicationSourcePath = "D:\Sources\WeCom" Import-MDTApplication -Path "DS001:\Applications\Applications For Reference Image" -Enable "True" -Name $ApplicationName -ShortName $ApplicationName -CommandLine $CommandLine -WorkingDirectory ".\Applications\$ApplicationName" -ApplicationSourcePath $ApplicationSourcePath -DestinationFolder $ApplicationName -Verbose

4.导入O365

$ApplicationName = "Install - Office365 ProPlus - x64" $CommandLine = "setup.exe /configure configuration.xml" $ApplicationSourcePath = "D:\Sources\Office365" Import-MDTApplication -Path "DS001:\Applications\Applications For New OS\" -Enable "True" -Name $ApplicationName -ShortName $ApplicationName -CommandLine $CommandLine -WorkingDirectory ".\Applications\$ApplicationName" -ApplicationSourcePath $ApplicationSourcePath -DestinationFolder $ApplicationName -Verbose

手动添加Visual C++ runtimes至应用 将下载好的Visual C++ runtimes上传至MDT,并按以下结构存放 这里配置个PowerShell脚本,用于批量安装Visual C++ runtimes,存放路径如图所示 脚本下载链接 添加至MDT应用程序中 编辑任务序列

打开任务序列REF-001并访问State Restore步骤内,找到Windows Update (Pre-Application Installation)在下面创建一个Group名为Install Application并将Visual C++等软件添加进去,如下图所示:

安装Microsoft NET Framework 3.5.1

在Tattoo后新建自定义任务组,并添加安装功能角色操作:

任务名称:Install - Microsoft NET Framework 3.5.1 选择系统类型: Windows 10 选择要安装的角色功能:NET Framework 3.5 (includes .NET 2.0 and 3.0)

启用Windows Update

分别将Windows Update (Pre-Application Installation)和Windows Update (-Application Installation)

最终顺序

添加暂停功能

很多时候,在捕捉镜像任务执行到镜像安装完成之后、捕捉生成WIM文件之前,我们想再做一些其他的操作。按照上述的任务配置,是无法进行人工干预,安装完系统、软件、更新补丁后会自动Sysprep并重启。

这个时候我们可以在安装系统完成进入桌面后到Sysprep之间,添加暂停功能,给我们操作空间。 任务名称:Suspend 任务类型:Run Command Line 命令:cscript.exe "%SCRIPTROOT%\LTISuspend.wsf" 暂停功能

当手动操作完成后,再双击桌面Resume Task Sequence恢复运行后续的任务。

配置系统部署规则

通过修改规则文件Bootstrap.ini和CustomSettings.ini来进行部署任务的配置。

Bootstrap.ini

[Settings] Priority=Default [Default] DeployRoot=\\ITPRO-MDT01\MDTBuildLab$ UserDomain=ITPro.cc UserID=MDT_BA UserPassword=P@ssw0rd SkipBDDWelcome=YES

CustomSettings.ini

[Settings] Priority=Default [Default] [Settings] Priority=Default [Default] _SMSTSORGNAME=ITPro.cc _SMSTSpackageName="Build and Capture Win10 21H2 Image" UserDataLocation=NONE ComputerBackupLocation=NETWORK DoCapture=YES OSInstall=Y AdminPassword=ITPro.cc@1688 TimeZoneName=China Standard Time JoinWorkgroup=WORKGROUP HideShell=NO FinishAction=SHUTDOWN ApplyGPOPack=NO BackupShare=\\ITPRO-MDT01\MDTBuildLab$ BackupDir=Captures WSUSServer=http://mdt01.ITPro.cc:8530 BackupFile=CAPTURE_#month(date) & "-" & day(date) & "-" & year(date)#.wim SLShare=\\ITPRO-MDT01\Logs$ SkipAdminPassword=YES SkipProductKey=YES SkipComputerName=YES SkipDomainMembership=YES SkipUserData=YES SkipLocaleSelection=YES SkipTaskSequence=NO SkipTimeZone=YES SkipApplications=NO SkipBitLocker=YES SkipSummary=YES SkipRoles=YES SkipCapture=NO SkipFinalSummary=YES 配置捕捉任务序列的Profile

打开MDT高级配置⇒Selection Profiles⇒新建Prfile

名称:WinPE 10.0 属性:只选择WinPE 10.0的驱动 详细功能介绍

更新启动镜像 截止为此,更新部署任务以及启动镜像后,即可进行模板镜像的制作。

验证

[scode type="green"]强烈建议请使用虚拟机去制作模板镜像,并按上述的Profile,只包含PE驱动或不包含任何驱动

创建一个单硬盘的虚拟机,并通过网络启动.

这里前面为演示不同场景,VC++我已经通过任务序列添加了,所以在选择APP这块就不再选择。

安装完APP后,自动完成暂停操作。 我个人是不建议将Office这类的APP放在模板里,多数情况下这种会引起后期部署的客户端无法激活的情况,后期有空我再单独更新如何处理这类问题。

完成自定义操作后,点击桌面Resume Task Sequence恢复运行后续的任务,直至完成Sysperp并关机。

至此,你已经制作好符合自己需求的Win10 21H2的镜像模板。然后将生成的WIM镜像文件导入至MDT作为系统部署任务的基础镜像

提示

如果在按照我上述的步骤,在制作模板镜像是启用了WSUS并在Sysperp之前进行Windows 10的系统更新,可能会遇到Sysperp失败的问题。我会在下一篇文章介绍这个问题的解决方法。

Enjoy~~ :smile:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3