windows系统自动部署-MDT(windows自动执行bat)

入门阶段:初识MDT

MDT简介

Mirosoft depoyment toolkit documentation,微软部署工具集,可提供自动化的桌面客户端操作系统和服务器客户端操作系统的部署。

https://learn.microsoft.com/zh-cn/windows/deployment/deploy-windows-mdt/get-started-with-the-microsoft-deployment-toolkit#about-mdt

mdt官方资料

https://docs.microsoft.com/en-us/sccm/mdt/

官方下载地址

MDT的安装类型

LTI:轻量级安装,即用户配置项很少,只需要将没有系统的计算机连入存在MDT服务器的网络,用户只需输入域用户名和密码即可开始安装系统。

ZTI:

UDI:

MDT部署优点

  1. 实现定制化部署。
  2. MDT与WDS结合可以实现网络启动部署操作系统。
  3. MDT部署操作系统的同时,也可迁移用户配置文件等,用户无缝体验。

Windows PE简介

windows预安装环境

https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-intro

官方资料

Windows PE必须通过下载ADK来获得。

UEFI的优点

可以说是BIOS的新版本,图形化界面丰富直观,在UEFI下可以直接使用鼠标,支持大容量硬盘,支持安全启动,检查启动的驱动是否被嵌入。

Windows ADK简介

https://searchenterprisedesktop.techtarget.com/definition/Microsoft-Windows-Assessment-and-Deployment-Kit-Windows-ADK

官方资料

Microsoft Windows 评估和部署工具包,在安装MDT前必须先安装ADK,其包含Windows预安装环境(WinPE)和部署映像服务和管理工具(DISM)。Windows PE、USMT和部署工具是必须项。

https://learn.microsoft.com/en-us/windows-hardware/get-started/adk-install

下载地址

模拟环境搭建

图 1文中所有操作以此结构为基础。

  1. DC服务器(实际上域控制器可以和DHCP、DNS、IIS、MDT共存)
  2. MDT服务器:建议固态硬盘、多块网卡绑定
  3. 裸机
  4. 安装有系统windows7的客户机
  5. WDS服务器(高级阶段)

环境安装

安装域控制器服务器

本次实验在vmware workstation 16软件环境中以虚拟机的形式进行。

图 2虚拟机中安装windows server 2016 180天评估板

图 3选择相应版本

安装过程并无特殊在此不做累述。

图 4系统安装完成

系统安装完成后可进行增强工具的安装和快照的设置。

当准备工作完成后可以开始设置DC服务器,使其成为域控制器。

图 5进行名称设置

图 6地址设置

由于在实际环境中IP地址的分配多由路由器或交换机来分配,因此此次实验打算不配置专用DHCP服务器,所以不对地址进行指定设置。

域功能的添加

图 7进行域功能的添加

图 8默认选项

图 9选择需要安装的服务器

此处的选项根据实际可能会有不同,若是网内存在多台服务器或服务器配置有多个地址就需根据规划选择配置相应地址的服务器。

图 10AD服务选择

图 11DNS的部署

由于此处实验我打算模拟网内由其他设备分配IP,因此暂时决定DNS服务器不设置固定地址,看看效果。

图 12确认后开始安装

域控制器的设置

  1. 服务添加完成后对服务器进行配置,选择“将此服务器提升为域控制器”。
  1. 进行密码设置,其它项可保持默认或根据实际进行选择。
  1. 出现此提示可忽略。
  1. 之后的设置均可默认,无需做更改。
  1. 安装完成后系统会自动重启,重启时已经变成了域帐号登录。
  1. 此时DNS应该自动配置完成,进行新建区域设置。
  1. 创建一个域用户。

MDT服务器的设置

  1. 在windows server服务器上首先安装ADK,安装选项部署工具、windows预安装环境、用户状态迁移工具为必选项,其余均可默认;其实质是在线安装,因此需要保证安装及其联网正常。也可以将源文件事先下载进行安装。
  1. 功能选项保存默认即可。
  2. ADK安装完成后进行MDT的安装,MDT有64位和x86(32位)两个版本,按软件环境选择相应版本;安装选项均可默认。
  1. 安装完成后使用deploymentworkbench控制台来进行操作。
  2. 将安装完ADK和MDT的服务器配置好ip地址后加入到域中。
  1. 下载相应的操作系统镜像,

MDT导入操作系统的设置

  1. MDT安装完成后首先创建部署共享,运行控制台,选择Deployment share右键选择new deployment share,选择相应路径(非系统盘优先),共享名称设置(可默认),部署共享的描述信息可自定义,其余设置均可默认。

此处可默认也可自选,其后选择下一步即可完成。

设置完成后出现的共享文件夹。(net share查看当前共享)

  1. 创建完成后可导入操作系统(建议使用企业版可减少莫名故障),选择mdt deployment share下的operating systems文件夹,右键创建文件夹(此举可使得文件等更加清晰),创建完成后右键选择导入操作系统,一般情况下选择第一选项,其他选项根据实际情况设置。

设置名称后其他选项均可默认下一步。

文件夹设置完成后出现的状态,随后即可向其中导入镜像。

第一项是源文件安装;第二项是模板机安装;第三项是从WDS服务器上安装;此处我们以第一项为准。

指定源文件即安装镜像的路径,其后的描述可默认,选择下一步完成设置。

完成后可看到共享文件夹下出现的安装文件。

(slmgr -dli 查看系统激活状态)

https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys

Kms clinet key地址,用来查找相应的操作系统序列号

创建windows PE

  1. 选择Deployment share右键属性。
  1. 在出现的对话框中选择windows PE,在其中进行相应设置。

注意,在某些网络环境下,由于需要安装系统的终端众多,因此网络中会存在主播组的设置,此时需要打开组播(多播)设置。

  1. 设置部分可以选择默认,设置完成后选择Deployment share右键update deployment share,进行相应设置。

第一个选项是对原有winpe修改后进行更新,第二个选项是生成winpe,因此根据情况进行选择。

  1. 完成后在共享目录下的BOOT文件夹下产生了镜像文件。
  1. 生成的镜像引导完成后是为了连接MDT服务器进行系统安装,与日常使用的windows pe作用不同。
  2. 引导成功后需要输入管理员账号和密码(未经设置普通用户无权限),以及域名称进行验证,验证成功后即可进入MDT部署服务。

在此界面也可以按F8调出命令行,查看本机是否获得IP地址,否则服务从MDT服务器获得安装文件。

若未获得可以进行手动配置,配置静态地址。

  1. 随后进行身份验证,属于管理员账号即可,或是之前在域控制器上创建的相应用户即可。
  1. 身份验证成功后进入任务序列界面。由于没有在MDT服务器上创建此时界面中为空白,并且无法进行下一步操作。

(net use x : \\MDT-LAB\deploymentshare$ 手动设置映射驱动器)

  1. 默认情况下只有特定用户才能访问MDT共享,选择Deployment share右键共享,选择特定用户,将everyone添加进列表,设置完成后确定,则普通用户也可访问部署服务器。

任务序列

  1. 选择MDT deployment share下的task sequences,右键选择new folder,从而新建任务序列,建议在其下依照不同的需求和任务创建文件夹,从而使得工作更加清晰。

任务序列的ID可以自行命名,其他信息根据实际情况进行填写。

  1. 任务模板选择,一般选择第二项标准的客户端序列。
  1. 操作系统的选择,其选项取决于此前导入的系统。
  1. 指定产品密钥,若是环境中有KMS服务器,可在安装后激活,也可使用MAK的密钥,安装完成后连入网络激活,可选择第一项跳过密钥。
  1. 操作系统的基础设置,可设置用户名称、使用组织名称和浏览器起始页。
  1. 是否指定本地管理员的密码,我一般习惯不指定的。
  1. 其后操作默认即可,设置完成。相应目录下会出现创建的文件。
  1. 完成后再次通过winpe启动逻辑经过检测和登录后界面出现待安装系统即任务序列中有新的内容可供进一步操作。如果出现乱码则是任务序列的描述信息有中文,而又没有安装中文语言包造成的,可在winpe属性中进行添加。
  1. 系统安装前可设置是否加入域或者工作组。
  1. 是否移动用户数据和设置,一般新部署的设备选择默认第一项不移动即可,若是之前有过部署则第二项可选择。
  1. 用户数据是否恢复,此处根据实际需要选择。
  1. 设置系统语言、键盘和时区。
  1. 是否捕获计算机的设置,对于新机器选择最后一项。
  1. 设置完成后对所作设置的预览,无误后点击开始,系统开始部署。

导入应用程序

  1. 导入应用程序的目的是在部署操作系统的同时进行应用软件的安装。
  2. MDT可以导入exe、msi格式的软件。
  3. MDT也可以利用脚本的方式部署软件。
  4. 软件的静默安装方式一般是以命令行的方式后加参数来实现,如xxxxx(软件名称).exe /?,通过此命令查看静默安装的参数。(7z的静默安装参数为/S)

Acrordr的安装参数,静默安装参数为/sALL(实际上不出现任何对话框需要使用-sfx_nu /sALL /msi EULA_ACCETP=yes)。

  1. 将需要安装的软件分别放在相应的文件夹,在MDT deployment share下的applications下(也可右击在此文件夹下创建文件夹,使得结构更明确)。
  1. 右键存放应用软件的文件夹,选择New application,一般会选择第一项,指定源文件位置你刚才创建的用于存放软件的位置。
  1. 安装软件的信息填写,除了软件名称外其它可不填。
  1. 指向安装程序的位置,
  1. 在command details设置项的command line中输入软件的静默安装命令(不需要带路径)。
  1. 如果有多个软件需要安装,则可重复从new application及之后的操作。

设置完成后相应目录下会产生安装软件的目录和源文件。

  1. 利用更新后的winpe引导装机时会出现导入的应用软件,并可选择是否安装。

自定义office2013的部署

  1. 将软件导入到MDT deployment share下的applications下。导入过程与之前导入其它软件操作一样。
  1. 点击软件的属性,office2013会多出一个office选项,而更新版本的office软件不会。
  2. 选择office products下的office customzation(本次以office2013为例,其他软件的配置会有不同)。
  3. 在出现自定义工具界面时选择新建。
  4. 其他选项根据实际需要进行。
  5. 注意在安装项下的授权和用户界面中的显示级别选无,下方的抑制模式和无法取消要勾选。
  6. 注意在安装项下的修改安装程序属性中选择添加,名称为setup_root,值为never,使得office在安装过程中不会重启。
  7. 在功能选项下的修改用户设置可选择隐私中的信任中心,将首次运行时禁用自愿加入向导禁用,可阻止向导运行,以及首次运行中的禁用首次运行影片等。
  8. 设置完成后保存更改并关闭,保存位置在软件目录下的updates文件夹中,文件名可自定义。
  9. 完成后可进行查看并应用和确定(若是自定义安装则office products页面中的勾选项全部不选,默认安装时需要将customer name、display level:none、accept eula、always suppress reboot进行设置和勾选)。

客户端部署语言包

  1. MDT deployment share下的packages文件夹下可以导入补丁以及语言包。
  1. 在其下创建相应文件夹,以存放补丁或语言包。
  2. 右键新建的文件夹,选择import os packages。
  3. 选择语言包,其他选项可默认。
  4. 随后利用windows pe镜像引导的裸机在安装好系统后会部署刚才选择的语言包。

客户端部署补丁

  1. https://www.catalog.update.microsoft.com/Home.aspx.,微软的补丁更新网站。
  2. MDT deployment share下的packages文件夹下创建存放补丁的文件夹。
  3. 选中新建文件夹右键选择import os packages。
  4. 选择补丁存放的文件夹(注意导入的是补丁文件夹内的所有补丁,因此不必要的补丁事先最好删除)。
  5. 其他选项皆可默认。

MDT静默部署谷歌浏览器(msi格式)

msiexec /i静默安装msi格式的安装文件,注意后面带/q /norestart,以保证安装完成后不重启计算机。

  1. 将谷歌浏览器的安装包导入到MDT deployment share下的applications中(导入成功后系统会自动创建存放软件的文件夹)。
  2. 命令行为msiexec /i xxxx(安装包名称).msi /q /norestart。
  3. diskpart,可以查看硬盘分区状况,其命令集成在windows pe中。
  4. list disk,显示硬盘;select disk 0,选择0号硬盘;list partition,显示硬盘的分区状况。

AUTOCAD查看软件dwg trueview静默安装

dwg是cad软件生成文件的后缀。

  1. 可在搜索引擎内搜索silent install xxx(软件名),以获得相应软件的静默安装命令或说明。
  2. Setup.exe /qb /i /language en-us,为软件的静默安装命令。

MDT的应用程序bundle

就是创建一个安装应用程序的逻辑,但是你必须先导入应用程序,然后把他们组合成一个安装逻辑,即安装某一个应用软件前必须先安装其他应用程序,例如先安装office然后在运行激活命令或者安装office service pack。

  1. 在导入需要安装的软件后再次创建New application,在出现的选项中选择第三项,即application bundle。
  1. 相应的设置与一般需要安装的软件设置时一样,无需特殊处理。
  2. 创建完成后选中新创建的程序名,选择属性。
  3. 在依赖关系即dependencies中选择添加即add,将需要按照的应用程序加入。
  1. 调整软件的安装顺序,将需要先安装的放在最上层。
  2. hide this spplication in the deployment wizard,是隐藏程序,使其不出现在列表中。

.net farmework的静默安装命令xxx.exe /passive /norestart。

exe的文件静默安装可以试一下/skipconfig /auto。

MDT磁盘分区

MDT默认会给未分区的硬盘划分出三个默认分区。

  1. https://www.howtogeek.com/192772/what-is-the-system-reserved-partition-and-can-you-delete-it/ (系统保留分区)
  2. https://www.partitionwizard.com/partitionmagic/mbr-vs-gpt.html (了解MBR和GPT的区别)
  3. https://www.disk-partition.com/articles/unhide-recovery-partition-5740.html (命令查看恢复分区)
  4. https://winpeguy.wordpress.com/2015/11/10/winre-so-is-there-any-good-way-to-get-mdt-to-place-any-form-of-winre-on-a-partition-other-tselect-diskhan-c/ (恢复分区中的winre 你在哪里?)
  5. https://social.technet.microsoft.com/wiki/contents/articles/11028.how-to-access-windows-recovery-environment-in-windows-7.aspx (Win7如何进入恢复环境)

任务序列中的new computer only中有关于硬盘划分的选项。

primary主分区

recovery恢复分区

预安装程序判断计算机类型

Deploymentshare/scripts/ztigather脚本(可直接双击运行)用来收集客户端设备信息进行验证。在winpe引导后首先运行的就是这些脚本。

系统预留分区的区别

  1. System reserved partition系统保留分区,windows 7、 8 、10在创建时都会预留一个不分配盘符的分区,会在其上存储启动管理程序和启动配置数据,同时用于bitlocker的加密。此分区不建议删除。
  2. Recovery分区,恢复分区,其安装有WINRE,当操作系统出现启动故障时,就可以通过这个分区启动修复操作。一般是按F8启动。
  3. MBR分区,支持小于2T的硬盘。GPT分区,支持大于2T的硬盘。
  4. assign分配驱动器号和挂载点,此时可以看到恢复分区,其中的文件都被隐藏。其文件实质存放在C分区的Recovery文件夹中。UEFI启动的机器则将文件存放于恢复分区中。

优化windows pe快速进入身份验证

Windows pe一般加载完成后手动点击安装部署向导后,会花费大量时间才能进入身份识别。可以右键MDT deployment share选择属性,在rules项进行优化,点击edit bootstrap.ini,将默认的部署路径改为MDT服务器的ip地址,随后右键MDT deployment share选择update deployment share,在出现的选项中选择第一项即优化镜像,随后会生成全新的windows pe。

只格式化C盘

当计算机是通过网卡或winpe启动时,都会被MDT认为是一台新计算机,进行硬盘的分区,会有丢失数据的风险。因此可以设置pex或winpe启动对客户端进行重装,此时只需要格式化c盘。

  1. 当windows pe引导完成后,MDT进一步引导时在任务序列中的move date and settings项中可以选择keep existing partitions(do not format or partition)项,此后将只格式化c盘,其余区域的数据将会保留(如果是全新机器则此处不可选)。
  1. 创建新的任务序列,然后进行编辑,用户只需要简单的选择此任务序列就将只格式化C盘,保留其他盘的数据。
  2. 在客户端上的Windows powershell中执行gwmi -Namespace root\cimv2 -Class Win32_DiskParition | select Name,可以查看本机的磁盘分区ID。
  1. 选择MDT deployment share下的task sequences,右键选择new folder,从而新建任务序列。
  1. 选择新建的任务序列,右键属性,在task sequence项中选择new computer only,将默认的格式化方案禁用,创建txt文件,内容为select disk 0,select partition 1,format fs=ntfs label=”os” quick,exit。然后将其复制到Deploymentshare/scripts/下,diskpart /s(调用脚本的意思) “%scriptroot%\formatcdriveonly(刚才创建的文本文件名).txt”。在任务序列中选择add下的general-run command line,根据实际进行设置,在xommadn line栏内填入diskpart /s ”%scriptroot%\formatcdriveonly.txt”。在install选项下的install operating system项中选择指定磁盘和分区即指定系统安装的位置,即参考之前命令查看的结果。应用确认后即可完成。

MDT制作启动U盘

MDT制作启动U盘用于分部启动安装操作系统,此U盘中可包含操作系统,驱动程序,应用程序等。

  1. MDT deployment share选项下的advanced configuration-selection profiles选中右键,选择new selection profile。
  1. 根据实际情况进行设置名称,选择需要安装的系统、应用程序、驱动并选择任务序列。
  1. media项(先创建存放media内容的文件夹),选中右键点击new media,根据实际情况进行设置。自定保存文件的路径并选择相应的配置文件。其他选项均可默认下一步即可。
  1. 创建完成后在创建的文件上会差生相应的文件夹。
  1. 在media项中选择之前创建的镜像,右键属性,进行调整。
  1. 调整完成后,继续右键选择更新媒体文件。
  1. 完成后在文件夹中创建了一个iso镜像文件,将此文件刻录成光盘或启动U盘,可以直接部署。

提取客户端驱动导入MDT

  1. 准备好硬件驱动或客户机已经将相应驱动安装完毕。
  2. 可利用double drive导出驱动。
  3. MDT deployment share选项下的out-of-box drivers项,选中此项右键进行文件夹的新建。
  4. 右键选择新建文件夹,选择import drivers,进行驱动导入,可以直接选择所有驱动所在的文件夹,将全部驱动导入。

启动MDT部署监控功能

Monitoring,启用此功能。启动后在服务中验证一下。并且有部署的情况下能够看到。