Server
- FOG Version: 1.3.5
- OS: Ubuntu 16.04.2 LTS
Client
- Service Version: Lenovo m900z
- OS: Windows 10 Pro
Description
Just wondering if someone could give me some pointers here. I’ve been tearing my hair out for days.
So we have thirty Lenovo m900z workstations to deploy. I have one of them set up the way we want. Relatively uncomplicated, just a few pre-installations of software, one local user account, though the PC is joined to the AD domain. My idea was to sysprep it and use Fog to deploy to the remaining 29.
I’ve run into a lot of the usual problems that have already been answered here and solved most of the issues based on what I found here and on the Fog wiki.
My lingering problem is that I’ve created a unattend.xml file that seems to simply be ignored. I tried to create a full file with all params, but really I only care about the one that tells it not to strip the device drivers PersistAllDeviceInstalls.
I’ve installed things like the MDT and ADK to try and make absolutely sure I’ve got a valid xml file. But one thing I need to know is if the cpi:offlineImage param is absolutely necessary. These Lenovos didn’t come with any media whatsoever and getting Lenovo to give us media has been ridiculously difficult in the past. So I don’t have access to a proper install.wim file that goes along with these specific machines.
I did make a .wim file from other media. I tried making a .wim from the files generated by Microsoft’s Media Creation Tool. I also tried using a .wim file I made from the recovery disk of a different model of Lenovo, though still Windows 10. I even figured out how to use the DSIM capture option, so I network booted one of the virgin Lenovo m900z’s into WinPE, and created a DSIM captured .wim file. None seem to behave any different, it’s as if my unattend.xml file is being ignored. I had my unattend.xml file saved in the C:\Windows\System32\Sysprep\
directory and ran sysprep from that directly using: sysprep /generalize /oobe /shutdown /unattend:unattend.xml
Could anyone give me some pointers as to what to look at next?
Here is the unattended.xml file I attempted to use:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<component name="Microsoft-Windows-International-Core" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<InputLocale>en-US</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UserLocale>en-US</UserLocale>
</component>
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<FirstLogonCommands>
<SynchronousCommand wcm:action="add">
<CommandLine>del /Q /F c:\windows\system32\sysprep\unattend.xml</CommandLine>
<Order>1</Order>
<Description>Deletes unattend.xml</Description>
<RequiresUserInput>false</RequiresUserInput>
</SynchronousCommand>
<SynchronousCommand wcm:action="add">
<CommandLine>del /Q /F c:\windows\Panther\unattend.xml</CommandLine>
<Order>2</Order>
<Description>Deletes unattend.xml</Description>
<RequiresUserInput>false</RequiresUserInput>
</SynchronousCommand>
</FirstLogonCommands>
<OOBE>
<HideEULAPage>true</HideEULAPage>
<ProtectYourPC>1</ProtectYourPC>
<SkipMachineOOBE>true</SkipMachineOOBE>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
<NetworkLocation>Work</NetworkLocation>
</OOBE>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<TimeZone>Eastern Standard Time</TimeZone>
</component>
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<RunAsynchronous>
<RunAsynchronousCommand wcm:action="add">
<Path>net user administrator /active:yes</Path>
<Order>1</Order>
</RunAsynchronousCommand>
</RunAsynchronous>
</component>
</settings>
<settings pass="generalize">
<component name="Microsoft-Windows-PnpSysprep" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
<DoNotCleanUpNonPresentDevices>true</DoNotCleanUpNonPresentDevices>
</component>
<component name="Microsoft-Windows-Security-SPP" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SkipRearm>1</SkipRearm>
</component>
</settings>
</unattend>