Help with Win10 Driver injection
-
@Jamaal Hey wait, that was more than just one more question.
sysprepper.cmd is a batch file I created to do last minute clean up just before sysprepping the system. That way all of the clean up steps are done every time the same way for automation. The batch file is manually run. The last command in sysprepper is to call sysprep and power off the computer.
To copy all of the specific files (scripts, logos, pictures, config files) from MDT to the target computer during reference image build I used the instructions from here: https://mdtguy.wordpress.com/2014/07/30/how-to-copy-folders-in-mdt-like-a-boss-the-easy-way/ That way all of our required scripts are placed on the target computer during reference image build.
There are actually 2 unattend.xml files being used here, but they are used at different times. The first unattend.xml file is created by MDT for the specific reason to build the reference image. MDT manages this unattend.xml file. The second unattend.xml file is used during sysprep and oobe of the target computer after FOG places the image on the target computer. This unattend.xml file may have instructions about creating local accounts, connecting to AD, target system naming all things you need to avoid OOBE asking questions during the imaging process. This is the unattend.xml file you create to customize the target computer to your companyās needs.
-
@george1421 lol, yea sometimes I slip a few more questions last minute ok, I heard of them and Iāll start working on things. Iāll reply back in a few days or so letting you know how I made out. Thanks again for your help.
-
George,
Not sure if youāve done this with MDT, but Iām having issues using WSUS Offline updates for Windows 10 Ver 1709. I got a reference from IT Bros, but still errors out when updating with updates. https://theitbros.com/integrate-wsus-updater-with-mdt-2013-to-deploy-windows-10/
I even tried looking at the YouTube link, but still fails, wonāt run Windows Offline install, but will mount the drive with no issues. Do you know another way?
-
@Jamaal I donāt use the offline wsus package during MDT deployment. I just have MDT connect to my local WSUS server and get the updates from there.
So it maps the Y: drive no problem?
at the end of the MDT run, can you manually map the Y drive as the deployment user then run the following command via a command prompt? āY:\DeploymentShare\Scripts\client\update.batā? Where does it error out in the process?
but looking at the code how does it get from this
cscript.exe "%SCRIPTROOT%\ZTIConnect.wsf" /uncpath:\\10.24.0.70\DeploymentShare\Scripts\client
to knowing what the Y: drive is and that the files are in
āY:\DeploymentShare\Scripts\client\update.batā
Also if the mapping command was magically picking the Y: drive then the path root isnāt consistent
/uncpath:\\10.24.0.70\DeploymentShare\Scripts\client
So \10.24.0.70\DeploymentShare\Scripts\client would equal Y:
Then the execution path is
Y:\DeploymentShare\Scripts\client\update.bat
So the real path on the server would be
.\DeploymentShare\Scripts\client\DeploymentShare\Scripts\client\update.bat
Not logical
-
@george1421 said in Help with Win10 Driver injection:
.\DeploymentShare\Scripts\client\DeploymentShare\Scripts\client\update.bat
yea itās driving me nuts here, lol. The reason I was gonna go this route was because for some reason, the WSUS is taking forever to download the updates. I let it run for a few hours and I also noticed some errors in WSUS it was trying to download Office 2013 Service pack 1. Would you know on how to speed that process? I have Server 2012 R2 and tried things like increasing the Application Pool that I saw online on IIS. Iāll play around with the offline again shortly as well.
-
@Jamaal For windows 10, WSUS works just fine, updates in less that 20 minutes. For Windows 7 it would take hours to run. I think my vm for win10 has 4 vCPU and 6GB of ram.
For packages like office 2013, I do use wsus offline to download the office updates, but then I place them in the applicationās update folder so that when office is installed it also installs all of the updates automatically. That wonāt address your slow update issue, but it is a way to speed up the wsus online update process.
-
@george1421 ok, Iām gonna try that route for the updates. Just curious, what classifications do you use in WSUS for Windows 10? I selected Windows 10 and windows 10 updates and latest build I think, donāt remember.
-
@george1421 and when I get to this process on copying files, where should I tell Fog to copy the unattend.xml? Into c:\windows\system32\sysprep? Or the panther folder?
-
@Jamaal The c:\windows\panther folder is the first place OOBE looks for the unattend.xml file. You really can place it anywhere if you call out the specific directory when you run sysprep. But Iāve never been one to push luck. I place the file in the Panther directory and call out the specific path when sysprep is run.
As for how wsus is setup for win10, Iād have to look at the wsus server for that.
-
@george1421 hey George, so I see what the problem was with WSUS. I thought the content folder can be put anywhere since it said remote path. I tried my NAS both network path and iscsi, but still locks up the downloads. I did research and said itās not supported in a network share, so I put it back on the local.
Now for the Office 2013 updates, I found this online to extract the service pack 1 and I was able to get the updates faster compared to WSUS.
https://www.howto-outlook.com/howto/slipstreamoffice2013sp.htm
Iām working on the unattend file and will work on copying files this weekend. The offline script I was following sucked and didnāt work no matter what I tried. Iāll keep you posted. Thanks for leading me in the right direction.
-
@george1421 George, I started playing around with the copy script and worked good copying to the Windows 10 client, but I didnāt do fog as yet. I just booted the VM after MDT to test it out and got through setupcomplete.cmd to copy over, but looks like the unattend.xml didnāt make the changes. Any ideas? I didnāt see the c:\drivers folder create even though I used WSIM to add the line? Do I need to call the command to create the folder drivers as well?
-
@george1421 or should I let the VM boot after MDT deployment, create a cmd script to sysprep again and also point the setupcomplete.cmd and unattended.xml to their correct spots?
-
@Jamaal When I create my golden image, I let MDT build it and then after the closing status message, I immediate go to my scripts directory on the target computer and run the sysprep script I copied over using an MDT task sequence. I donāt normally reboot the golden image before sysprep and FOG capture. I NEVER sysprep an image more than once. If I need to do that I will fix what ever reason and then reimage with MDT.
-
@george1421 Iām a little confused, sorry. Should I remove the task from MDT to not sysprep the machine and run a custom script to sysprep & use a custom unattend.xml? I have these in the bottom of my rules page, not sure where to see the closing status message.
SkipAdminPassword=YES
SkipProductKey=YES
SkipComputerName=YES
SkipDomainMembership=YES
SkipUserData=YES
SkipLocaleSelection=YES
SkipTaskSequence=NO
SkipTimeZone=YES
SkipApplications=YES
SkipBitLocker=YES
SkipSummary=YES
SkipRoles=YES
SkipCapture=NO
SkipFinalSummary=YES -
@Jamaal said in Help with Win10 Driver injection:
SkipFinalSummary=YES
If you set the above step to NO, then at the end of the MDT process you will get a status message if your MDT deployment was successful or not. I would enable that to ensure everything deployed correctly, this may be important to know.
I can only tell you how I use MDT and FOG. After the final status is displayed then the MDT lite touch process is done for me. If I need to make any final system adjustments or add applications that might need to be added, but donāt support unattended installs I would do it at this point. When I feel the system is ready for FOG capture (still without rebooting after MDT), I go to the location where my MDT copy files task sequence is location and run the DoSysPrep.cmd batch file. That batch file copies my custom unattend.xml file to the panther directory, moves setupcomplete.cmd to its location, copies a few other ini files to their proper location and then calls sysprep.exe with the proper commands to run sysprep and power off the system. Then I capture with FOG.
The pause in the process between the end of MDT and start of DoSysPrep.cmd gives me a chance to make any final adjustments to the system as well as take a virtual machine snapshot of the system before running sysprep. That way if I need to fix something discovered after FOG deployment, i can just restore the VM to the point before sysprep, fix the issue and then run the DoSysPrep.cmd batch file again and recapture with FOG. I donāt need to take the time to rebuild using MDT since I have a snapshot of the system before sysprep. That is my workflow.
-
@george1421 ok, now I understand. I just made that change. I had it set on no because I was following deployment research website. Iām going to try that approach. Iāll post up some updates when I get everything accomplished. Thanks again for guiding me through this.
-
George, Iām 90% good with deployment. I was able to get a working script to deploy the Lenovo drivers. I saw how to use deploy bug to see where it was failing.I ended up using an older script you put. So hereās my issues.
- I used the fog client and joined the domain successfully, this is windows 10 build 1709. I saw last min where you said to add the pinstall command in the setup complete.exe to install the drivers. How do I use the sed command to copy another setupcomplete.cmd from the fog server instead of reimagining? I looked at some examples, wanted to test using the sed command to copy the updated unattend.xml and setupcomplete.exe, but not sure where to put it in for example, fog.ad file. I get syntax errors.
-
I just want to see whatās easier to maintain, ex fog client vs using sed command. Where it says computer name, do I replace it with a computer name I want to start? Ex NY-WB- is what I would like to start as a prefix
-
Can you please tell me how you get to run a script after deployment without rebooting and triggering the dirty environment in MDT 2013? I tried following this post from deployment research, but no matter what I try, it wonāt go back into Windows, stays in Winpe and I get the dirty environment message:
I just want to do final touches without having to rerun syysprep, know what I mean?
-
@Jamaal I donāt totally understand your situation. I know unexpected reboots WILL cause MDT to consider the build invalid.
What is your end goal here? What script / action are you doing at the end of your task sequence to break MDT system build? There may be another way to go about it.