赞
踩
企业网适用环境:
- 有AD域控(每个用户都有入域的需要并且每个用户都有自己的账号)
- 有DHCP(无论使用交换机/路由器/Windows Server/Linux)
- 有本域Administrator管理员密码
- 有空闲的服务器(无论虚拟机还是物理机)与磁盘空间
- 域用户不属于本地administrator组(域用户无法安装软件)
- 可调控的网络策略及足够的网络带宽
最终实现效果:
- 用主机MAC地址自动为主机命名
- 使计算机自动入域
- 自动登陆到域环境(只能通过预设的域账号登录,无法随用户的改变而改变)
- 自动安装 exe / msi / office 套件
- 自动安装驱动
部署过程非常复杂,没有任何一步是可以跳过的(除非该步骤不适用于您的企业网络环境),建议逐行阅读,一摸一样地跟着做一遍,等成功实现后留存快照再进行自定义变量实验
整套部署流程中,由于涉及到的软件包只有英文版本,所以在说"汉语术语"的时候也会同时标注其"英文术语",所有的"英文术语"均来自软件内
部署的整套流程所需要的工具及文献,都会打包网盘提供出来 (见文末)
安装这三个功能就可以了
不停下一步然后点安装就完事儿了
没说到的一律默认选项
一、右键Deployment Shares,点击New Deployment Share
二、这个路径将保存MDT的一切,随你放哪,建议留50G以上
三、共享名称,这里决定客户端用什么目录名称来访问你的共享
四、把1、4、5的勾去了(但我看有些文章说不去也是可以的,我没试过)
五、一直下一步直到完成即可
一、右键新建出来的MDT Deplloyment Share 点击属性
二、如图
Description:描述,没啥作用
Network Path:写MDT的IP地址,客户端最终通过这里填写的内容去找共享服务器
Local Path:共享目录位于本地存储的位置
Platforms Suppported:支持32位和64位的影响,勾选哪个就会生成对应的WinPE启动引导文件,在后续的<生成引导启动文件>会说
可能会用到的文献:
- Configure MDT deployment share rulesRules中关于计算机名如何自动配置的官方指导
- Back to Basic – CustomSettings.ini – Explained对CustomSetting.ini文件做了详细的原理解释
- MDT设置–Custom Settings.ini 和 bootstrap.ini 配置CSDN另一位UP主写的Rules中语句的作用中文版,挺全的,需要用到的应该都有说明
- ISO 639-1 standard language codes标准语言编号
- Running the MDT Task Sequence as a Different User指导如何使用域账户自动登录到系统后再安装软其中有Rules的配置
- Microsoft Deployment Toolkit Documentation Library详细描述了Rules中各语句的意义
[Settings] Priority=AppInstallAsDifferentUser,Default Properties=APPINSTALLDOMAIN, APPINSTALLACCOUNT, APPINSTALLPASSWORD [Default] OSInstall=YES ;是否安装系统,这个一般都是YES SkipTaskSequence=NO ;是否跳过任务序列的选择 ;如果跳过,则使用TaskSequenceID=xxx指定 SkipCapture=NO ;是否捕获镜像(不知道啥意思,没关心过) SkipProductKey=YES ;是否跳过输入产品密钥 ;如果跳过,则使用ProductKey=xxxx指定 SkipUserData=YES SkipComputerBackup=YES SkipBitLocker=YES SkipTimeZone=YES ;是否跳过时区设置 ;如果跳过,则使用TimeZoneName=xxx来指定,可以通过这篇 [文章](https://olavtvedt.blogspot.com/2011/11/mdt-timezonename-and-index-number-list.html)查询你所在的时区 TimeZoneName=W. Central Africa Standard Time ;up主在西非,所以写的是西非时区,如果你在国内的话就是China Standard Time SkipApplications=YES ;是否跳过应用程序安装 ;如果跳过则需要使用Applications1={id_number}、Applications2={id_number},或者在Task Sequence中指定安装 ;如果不跳过,则会在WinPE阶段让你选择安装哪些软件 SkipLocaleSelection=YES ;选择你所在的地区,安装语言、键盘布局信息 ;如果跳过则需要用UILanguage,KeyboardLocale,UserLocale来指定,可以通过这篇[文章](https://www.andiamo.co.uk/resources/iso-language-codes/)找到Language-ID UILanguage=zh-cn KeyboardLocale=zh-cn UserLocale=zh-cn SkipAdminPassword=YES ;是否跳过Administrator密码设置 ;如果跳过则适用AdminPassword=来指定,否则会在WinPE阶段让你输入Administrator密码 AdminPassword=Passw0rd SkipDomainMembership=YES ;这里的跳过指的是是否跳过加域信息的填写,而不是“加域”这个动作的跳过 ;如果跳过,则需要DomainAdminDomain\JoinDomain\DomainAdmin\DomainAdminPassword参数 DomainAdminDomain=test.com ;这里就是你最终要加入的域,这个参数与'JoinDomain'的区别我没有测试,猜测是子域的关系 JoinDomain=test.com ;要加入的域,如果你的域不存在子域,例如最终加入的是 .test.com,那么这里的值应该与DomainAdminDomain保持一致 DomainAdmin=sysinstall ;这个变量名虽然叫DomainAdmin,但这里不需要填写域管理员的信息,并且sysinstall用户也不需要位于域的管理员组中 DomainAdminPassword=Passw0rd ;这里填写DomainAdmin那个账号的密码 SkipComputerName=YES ;是否跳过计算机名称的命名 ;如果跳过,则使用OSDComputerName=xxx指定 OSDComputerName=#Right(Replace("%MACAddress001%",":",""),12)# ;将每台电脑的MAC当作计算机名使用,以避免计算机名冲突 ;OSDComputerName=PC-#Left("%SerialNumber%",12)# ;可以使用上面这行语句使序列号成为计算机名 EventService=http://10.162.130.53:9800 Administrators001=%APPINSTALLDOMAIN%\%APPINSTALLACCOUNT% [AppInstallAsDifferentUser] APPINSTALLACCOUNT=sysinstall APPINSTALLPASSWORD=Passw0rd APPINSTALLDOMAIN=test.com ;这里一段参考[文章](https://www.deploymentresearch.com/running-the-mdt-2013-update-2-task-sequence-as-a-different-user/)``` --- ### 编辑 BootStrap.ini 设置 > 这段内容最终会写入到生成的 .wim 引导文件中,因为客户端拉去启动映像后,需要知道访问哪个共享目录,而Rules则是在启动映像后拉去的,也就是说,如果你修改了BootStrap.ini的配置,那么你就必须重新生成一个新的 .wim 启动文件,而Rules则可以随时修改,无需升级 > BootStrap.inii配置很简单,就这么几行,直接复制过去就可以使用 ```bash [Settings] Priority=Default [Default] DeployRoot=\\10.162.130.53\DeploymentShare$ ;这里是共享目录的网络位置,一定不可以写错,同时这个目录的物理位置C:\DeploymentShares必须给下面那个UserID账号开启共享和文件系统权限 UserID=sysinstall ;用于连接共享目录的用户名,可以使用域账户,也可以使用MDT服务器本地账户 UserDomain=cnpcic ;如果使用域账户的话,这里就写域前缀,例如test.com,那这里就写test,最终会自动拼接成test\sysinstall UserPassword=Passw0rd ;该账户的密码 KeyboardLocale=zh-cn SkipBDDWelcome=YES ;跳过欢迎界面
在Monitoring选项卡中,勾选 Enable monitoring for this delpoyment share,Monitoring host配置为MDT服务器的地址
没啥好说的,点开之后一只下一步下一步就可以了
结束后会在C:\DeploymentShare\Boot\下创建一个LiteTouchPE_x64.win文件,这个就是引导启动文件
如果你在<编辑 General 设置>这里勾选了x86,那么这里Update Deployment Share之后,会同时生成x86和x64两个引导启动文件
打开DHCP服务器,IPv4->右键Server Options->Configure Options
Option 66 写 MDT 服务器的为止
Option 67 取决于你使用哪一种引导方式,如果BIOS引导就写Boot\x64\wdsnbp.com,如果UEFI引导就写Boot\x64\wdsmgfw.efi,这个文件位置一般来说是固定的,它位于WDS服务器C:\RemoteInstall\Boot\x64\下
没说的就是默认选项,直接下一步就可以了
Windows键->管理工具->Windows部署服务->右键服务器->配置服务器
如果你的环境是DHCP/WDS分离部署的话,这里默认就可以了,如果是集成环境,就把两个勾去掉
这里建议读一下,根据自己企业的需求来选择
启动WDS服务
右键启动映像->添加启动映像
选择C:\DeploymentShare\Boot\LiteTouchPE_x64.wim如果你是x86的话就选x86,一直下一步完成即可
##添加操作系统
可能会用到的资源
- MSDN i tell youWindows镜像资源站
- MSDN next i tell youWindows镜像资源站(含Windows11镜像资源)
右键你的镜像->打开方式->资源管理器
可以看到自动挂载到驱动器上了
DeploymentWorkbench->Deployment Shares->MDT Deployment Share-> Operating Systems->Import Operating System
路径选择刚刚挂在上来的盘符,我这里是G盘,你自己看看清楚盘符再挂,然后一直默认就可以了
可能会用到的文献:
常用软件的静默安装参数
使用USSF自动判断安装包类型
常用软件的静默安装参数
Office系列自动安装指导
使用ussf.exe检测安装包的类型
MDT Deployment Share->右键Applications->New Application
选第一个(默认就是第一个)
给应用程序添加一个名字
这里建议一个安装包一个文件夹,因为添加程序会自动将你选择的目录下的所有文件添加到.\Applications\FILE_NAME下
这里的Command line就写使用ussf检测出来的参数,腾讯系软件一般都是/S,winrar是/s,Chrome是/install,360极速浏览器是–silent-install,参数取决于安装包的封包方式
一、将Office光盘像<挂载操作系统镜像>时一样,挂载到系统
二、将Office包添加到Applications里
这里就写你挂在上去之后系统给的盘符
参数只写setup.exe就可以了(我的是 .exe 安装方式,如果你是 .msi 的话,就用 .msi 的方式安装)
双击打开刚刚添加的应用
点选项卡
Office product to install -> ProPlus
Office Languages -> zh-cn
Dispay level -> None
Accept EULA -> YES
Always suppress reboot -> YES
然后点Office Customization
在<授权和用户界面>中,按下图配置,然后左上角,文件->保存->给一个名字
把刚刚保存出来的 xxx.msp文件,移动到.\Applications下,Office同一目录(与setup.exe平级)
然后打开Office的属性界面,在原本的 setup.exe 后面加上 /adminfile xxx.msp
可能会用到的文章
Windows系统提取驱动
MDT部署Windows驱动官方指导
使用命令获取计算机名称
Get-WmiObject -Class:Win32_ComputerSystem (PowerShell中运行)
wmic.exe csproduct get name (CMD中运行)
在Out-of-Box下建立如下目录结构(直接右键Out-of-Box然后New Folder)
dism /online /export-driver /destination:D:MyDrivers
使用以上命令导出当前计算机所有已安装驱动到 D:\MyDrivers
将刚刚导出的目录通过七七八八的方式传到MDT服务器上后,右键Redmi G 2022 -> Import Drivers选择驱动所在的目录,就完成了
任务序列有必要将讲解一下,它是整套MDT自动化部署中最核心的东西,前面所有做的导入软件包、导入驱动包、导入操作系统,全都是为了任务序列而做的,建议你在操作前,先自己仔细翻阅一下整个Task Sequence是在干什么,整个结构非常灵活,你可以利用脚本在任何阶段做任何可以做的事,包括copy文件,运行一个 .bat 脚本,修改一些注册表等
在Task Sequence->Preinstall->New Computer only->Format and Partition Disk (UEFI)
,下图从左到右依次点就可以将C盘划分大小为磁盘总量的45%,你也可以选下面的 Use Specific size ,为其设置一个固定大小
下图从左到右依次点,就可以创建一个名为DATA的数据盘(这一步理论上是可以指定盘符的,但我不会)
最终效果如下图,这样做出来的效果就是例如一块固态硬盘512GB,C盘占45%,D盘占另外55%。其中"MSR 128MB"与"Recovery 1GB"不建议修改
右键Task Sequence -> New Task Sequence
这两个是必填项,其中Tas Sequence ID不与用户交互(写1,2,3,4就可以了),Task sequence name是直接与用户交互的,需要管理员或者用户去选择使用那个任务序列,相当于是对该任务序列的一个短描述
这一步选择你需要的镜像,任务序列是绑定镜像的,不同的镜像可以执行不同的任务序列,例如中文版Windows安装中文版软件,英文版Windows就安装英文版的软件
这里的Full Name写administrator就可以了,Orgnization就写你的域名,这两个参数可能是用于新建系统时的默认用户,这个点UP主没有试验过变量
这里就输入Administrator账户的默认密码,一遍输入一遍确认,然后一直点下一步直到完成
跟着这篇文章做就好了,或者直接抄我上面的那段Rules你自己做些删删减减就可以了 试验阶段不建议修改任何一步
这一步主要面向的环境是:
&emsp本地Administrator安装的软件无法给域账户例如test\sysinstall用户使用,同时普通用户又没有权限安装软件(例如test\liqiang),所以就要登录到一个特定的域账户完成软件安装后,再用用户自己的账户登录。
这样的做法现在面临的最大的问题就是:test\sysinstall安装的软件无法完全"自动地"在test\liqiang登陆后为其桌面上创建所有需要的图标。目前这个问题,我使用的是一种非常蠢的办法,但以UP主的技术水平无法创造出其他更好的办法了,如果你需要的话,可以看文末的《软件安装番外篇》
如果你有完成上一步的话,现在你已经可以实现"在电脑自动安装完系统后,直接进入一个特定的域账户",那么现在就该开始安装软件了。先创建一个"Applications Install Group"名字你自己取就行
然后在点一下这个组,Add->General->Install Application
跟着下图点,选择你刚刚加载的安装包
给该步骤改个名字
总结:这篇文章UP主写了好几天,因为涉及到的资料太多了。写这篇文章的原因是因为MDT+LTI在国内的论坛上很少有靠谱的或者说贴近于实际应用的,许多的实验也仅仅停留在了实验层面,没有企业网中的复杂性,本文旨在为复杂的企业网环境提供一套相对完整的MDT+LTI的操作指南,能做到的也仅此而已了。
一、 WORNING - unable to set working directory:(-2147024894)
问题成因:TaskSequence在安装应用的时候会调用、\\ipaddress\deploymentshare$\applications\applicationfile
例如我要装微信的话,我就要把WeChatSetup.exe放在C:\DeploymentShare\Application\Wechat\下,TS在如果没有找到相应的目录时,就会报这个错误,在客户机的C:\Windows\Temp\DeploymentLogs\BDD.txt中,可以Ctrl+F输入你的报错信息去查找可以看到
解决方法:查看上图中,change directory的路径在MDT服务器上是否真实存在,一般来说都是路径打错了,但也会发生路径都对却依然报这个错误的情况,所以无论情况怎样,都建议在<DeploymentWorkbench->Applications->App_name->右键属性->Details->Working Directory>里重新输入一遍路径,但我还是劝你删了新建一遍,谁知道为什么抽风
二、静默安装输入参数回车后无反应
问题成因:大多数 .exe 安装文件下载下来时文件名里都是xxxsetup.exe,如果你把setup删了改成xxx的话,就会有这样的问题,up主试了很多软件,都有这样的问题,如果你发现在Task Sequence执行过程中,该软件既没有报错又没有安装成功的话,大概率是这个问题
解决办法:在文件名最后添加一个setup就好了,例如把WeChat.exe修改为WeChatSetup.exe
三、Connection OK. Possible cause: invalid credentials
问题成因:这个基本上就是共享权限问题,先检查MDT服务端的.\Control\BootStrap.ini文件中的UserID\UserDomain\UserPassword这三个参数,这三个参数是直接写入到WinPE中的,客户端在拉去WDS启动镜像后,会直接用SMB2协议+这个身份去访问目标服务器的DeployRoot共享目录
解决方法:
四:The join operation was not successful, This could be becausean existing computer account having name 000C29D3D1AEwas previously created using a different set of credentials.Use a different computer name, or contact your administratorto remove any stale conflicting account, The error was:
问题成因:这个报错一般和和(五)报错绑定在一起的,但需要注意的是当(六)发生时,如果你是按照(五)中的(问题成因)那样操作的话,基本就是域内的计算机名冲突导致的无法入域
解决方法:和(五)的解决方法一样
五:ZTIDomainJoin has attempted to join to domain [cnpcic.com] too many times. Count=4
问题成因:域用户密码错误或者域内已经存在与该计算机名相同的主机,如果你的实验方式是 完成后->快照->入域,就可能出现这个报错,因为客户机没有向域注销本机,就导致域控认为这台主机依然存在而不应该再次入域
解决方法:登录域控查找该计算机后将其删除(自行百度)
六:Windows在准备阶段(Getting Ready)一直转圈(十分钟左右)
问题成因:一般来说如果没有任何故障的情况下,转圈只应该持续1-2分钟,因为加域就是在转圈的过程中执行的,但如果加域不成功的话,就会一直尝试一直尝试,导致转圈的时间特别长
解决方法:首先检查账号/密码是否输入正确,建议另起一台已经安装好的Windows10,在这台Win10上使用你刚刚输入的账号密码来登录,如果有报错,可以在本文找一下有没有对应的报错
七:Application xxx returned an unexpedted return code : 2
问题成因:在DeploymentShare的Applications中,应用执行安装的命令与实际文件的名称不一致,例如Applications里写的命令是WeChatSetup_CN.exe /S,而实际上的文件名叫做WeChatSetup.exe。这样就会因找不到目标文件而无法执行命令,从而产生报错
八、The Task sequence has been suspended.LiteTouch is trying to install applications.This cannot be performed in Windows PE.If booting from a USB Flash Disk,please remove all drives before restarting.Otherwise,ensure the hard disk is selected first in the BIOS boot order.Reboot WinPE(Close all Windows) to resume. If booting from a USB Flash Disk,please remove all drives before restarting.Otherwise,ensure the hard disk is selected first in the BIOS boot order.Reboot WinPE(Close all Windows) to resume. If booting from a USB Flash Disk,please remove all drives before restarting.Otherwise,ensure the hard disk is selected first in the BIOS boot order.Reboot WinPE(Close all Windows) to resume.
问题成因:当你的电脑完成了"系统安装",即将开始"软件安装"的时候,你将电脑关闭了,并且重启后再次进入了PXE启动模式,就会导致这个报错,可能造成这个故障的原因通常是操作人员将"PXE网络启动"设置为第一启动项,当电脑意外关机后,自动进入了PXE启动。
解决方法:将硬盘或者Windows Boot Manager设置为"首选启动项",然后再启动电脑。
PS:如果你是强制关机的话(可能是想取消软件的安装),也必须按照上述<解决方法>等待软件安装完毕后,再做其他的操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。