anyweb 480 Posted October 19, 2014 Report post Posted October 19, 2014 Introduction In a previous post I showed you how you can deploy Windows 8.1 x64 to the Microsoft Surface Pro 3 using System Center 2012 R2 Configuration Manager. In this post I'll show you how to do the same thing with Microsoft Deployment Toolkit (MDT) 2013, except this is fully automated, all you have to provide is a server, the operating system files and change a few variables in the script. Note: As this is fully automated, and as this does install a WDS server role hosting a boot image, you should test it in a lab first and modify the script accordingly. There are many PowerShell scripts out there to create fully automated labs (hydration kits) from MDT gurus like Johan Arwidmark or Mikael Nystrom or upcoming cool dudes like Nickolaj Andersen, but this script is tailored for one thing only, deploying Windows 8.1 x64 to the Microsoft Surface Pro 3 with all drivers loaded. You may want to download it and customize it to suit your needs for other hardware because what it does is pretty cool. This script performs the following actions:- Downloads and then Installs Windows ADK 8.1 (if you have not done so already) Downloads and then Installs MDT 2013 (if you have not done so already) Downloads all required drivers for Microsoft Surface Pro 3 (see screenshot below) Adds the Windows 8.1 x64 operating system into MDT Adds the Microsoft Surface Pro 3 drivers into MDT (see screenshot below) Creates Selection Profiles for Microsoft Surface Pro 3 and WinPE x64 (see screenshot below) Creates a Deploy Windows 8.1 x64 - Surface Pro 3 task sequence Edits the Deploy Windows 8.1 x64 - Surface Pro 3 task sequence and adds an inject drivers step for Microsoft Surface Pro 3 (see screenshot below) in addition, it sets the WMI query for the Surface Pro 3 on that step (see screenshot below) Injects the Microsoft Surface Pro 3 network drivers into the LiteTouchPE_x64.wim Creates new CustomSettings.ini and BootStrap.ini files Disables the X86 boot wim (not needed for Surface Pro 3) Changes the Selection Profile for the X64 boot wim to use the WinPE x64 selection profile (see screenshot below) Installs the Windows Deployment Service role Configures the WDS role and adds the previously created LiteTouchPE_x64.wim (see screenshot below) Starts the WDS service so that you can PXE boot (UEFI network boot).All you have to do is download the script below, then place some files in the right place, PXE boot a Microsoft Surface Pro 3 and sit back and enjoy the show. So let's get on with what you need to do... Step 1. Download the script This PowerShell script will do all the hard work for you, download it and place it on your server that is designated to be the MDT 2013 server. I've tested it on Server 2012R2 only, if you run it on a different operating system and have issues then post your results below. Setup MDT 2013 for Microsoft Surface Pro 3.zip Update: I've updated the script above to include the March 2015 drivers and updates and it's available here. Step 2. Configure the variables in the script Once you have downloaded the script, you should configure the variables interspersed throughout the script, the most important of them is the $SourceFolder variable as this decides where to get the content from (if you've copied it already) and where to store it. This variable should point to a valid drive letter, the folder name will be created if it does not exist. The $FolderPath variable will be the MDT Deployment share root folder eg: E:\DeploymentShare. There are other variables to configure, scroll down through the script to find them, such as the ones below You will also want to edit the CustomSettings.ini and BootStrap.ini settings within the script to suit your own environment. Step 3. Copy the Windows 8.1 x64 operating system files Mount a Microsoft Windows 8.1 x64 Enterprise ISO and copy the contents to $SourceFolder\Operating Systems\ as shown below Step 4. Copy MDT 2013, ADK 8.1, Surface Pro 3 drivers (optional) If you've already downloaded the above files then place them in the source folder, otherwise the script will download them for you. In the screenshot below you can see I'm manually copying the offline ADK 8.1 files, you do not have to do this as the script will download the content for you if it's not found. Step 5. Copy your Applications to the respective folders (optional) If you have apps like Office 2013, copy them to their respective folders as shown below If you do add apps, then you'll also need to change the following section of CustomSettings.ini SkipApplications=YES to SkipApplications=NO Step 6. Run the script On the server that is to be your MDT server, start the script in PowerShell ISE or which method you prefer, below you can see the script in action, it has just created the selection profiles for the Surface Pro 3 After the script is complete, you are ready to test deploying a Microsoft Surface Pro 3 installation. and below you can see the E:\Source folder after the script has run, it has downloaded a bunch of stuff ! Step 7. Sit back and watch the deployment Take a properly shutdown Surface Pro 3, and power it on using the following sequence Hold the down volume key and then press the power button while continuing to hold down the volume key, it should PXE boot Press enter when prompted and then it will load the MDT LitetouchPE_X64 boot wim. before prompting you for a computername, note that it's currently set to SurfacePro3, you can change it in the UI itself or automate it via the many methods available such as those that Mikael describes here click next and off it goes, inject the Surface Pro 3 drivers (oh and of course, you've got working network in WinPE as the network drivers were added to the boot wim already) and after a wee while, it's done. Troubleshooting If the script has issues starting WDS (and you see the error below) An error occurred while trying to execute the command.Error Code: 0x41DError Description: The service did not respond to the start or control request in a timely fashion. then restart the server, as you were asked to do at the end of the script ;-). For deployment issues, you can review the logs found in the following locations depending on what part of the OSD process you are in:- In WinPE X:\windows\temp\SMSTSLOG In Windows C:\Windows\Temp\DeploymentLogs C:\MININT\SMSOSD\OSDLOGS C:\Users\Administrator\Appdata\Local\temp\SMSTSLog Summary Automating the deployment of Windows 8.1 x64 Enterprise to the Microsoft Surface Pro 3 is not only possible but relatively easy with MDT 2013 and a custom powershell script like the one above. I must also say a big thanks to Nikolaj who helped me with some issues in the script, you are awesome ! Related Reading Using PowerShell to modify settings in MDT 2013 - http://www.scconfigmgr.com/2014/08/23/using-powershell-to-modify-settings-in-mdt-2013/ Where do I find the MAC address of my Surface Pro 3 Ethernet Adapter in order to use UEFI network boot ? - http://www.niallbrady.com/2014/09/11/where-do-i-find-the-mac-address-of-my-surface-pro-ethernet-adapter-in-order-to-use-uefi-network-boot/ Why is my Surface Pro 3 not BitLockered after OSD via System Center 2012 R2 Configuration Manager ? - http://www.niallbrady.com/2014/09/18/why-is-my-surface-pro-3-not-bitlockered-after-osd-via-system-center-2012-r2-configuration-manager/ Why does my Surface Pro 3 take a very long time to UEFI Network Boot using System Center 2012 R2 Configuration Manager ? http://www.niallbrady.com/2014/09/09/why-does-my-surface-pro-3-take-a-very-long-time-to-uefi-network-boot-using-system-center-configuration-manager-2012-r2/ Surface Pro 3, Surface Pro 2, and Surface Pro firmware and driver packs http://www.microsoft.com/en-us/download/details.aspx?id=38826 Updating the UEFI firmware offline - http://blogs.technet.com/b/askpfeplat/archive/2014/10/20/how-to-update-the-surface-pro-3-firmware-offline-using-a-usb-drive.aspx Deploy Windows to Surface Pro 3 using Microsoft Deployment Toolkit Quote Share this post Link to post Share on other sites
ccatlett1984 0 Posted October 20, 2014 Report post Posted October 20, 2014 Depending on what firmware your Surface Pro 3 has loaded, you may not be able to PXE boot at all. http://blogs.technet.com/b/deploymentguys/archive/2013/05/16/pxe-deployment-with-surface-pro.aspx If the device your trying to image still has the April firmware, you won't be able to PXE. You can either use a usb boot drive to chain into MDT, or update the firmware while on the factory load, then PXE. Quote Share this post Link to post Share on other sites
anyweb 480 Posted October 20, 2014 Report post Posted October 20, 2014 that blog post was for the original Surface Pro surely based on the date (16th of May 2013...), this blog post is for the Surface Pro 3 which was released earlier this year Surface Pro: February 9, 2013[3]Surface Pro 2: October 22, 2013Surface Pro 3: June 20, 2014 there were issues with older firmware on Surface Pro 3 causing slow UEFI boot but that's fixable by a variety of methods including those below Why does my Surface Pro 3 take a very long time to UEFI Network Boot using System Center 2012 R2 Configuration Manager ? http://www.niallbrad...anager-2012-r2/ Updating the UEFI firmware offline - http://blogs.technet...-usb-drive.aspx Quote Share this post Link to post Share on other sites
ricardou 0 Posted October 22, 2014 Report post Posted October 22, 2014 Hey, have you released how to make a bootable MDT deployment for the UEFI Surface Pro 3. I have tried to do it a couple of ways, and have failed. I have been using an external usb hard drive, since it had a controller I could use to go between different partitions. Any suggestions? Quote Share this post Link to post Share on other sites
anyweb 480 Posted October 22, 2014 Report post Posted October 22, 2014 assuming you've completed my guide above and have run the script, and everything finished successfully, then try expanding Advanced, select Media, right click and choose New Media point to a blank folder (such as E:\Media) for the Media Path step and select the Everything selection profile as shown below continue through that wizard until completion, here's the powershell to do the above Import-Module "C:\Program Files\Microsoft Deployment Toolkit\bin\MicrosoftDeploymentToolkit.psd1" New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "E:\DeploymentShare" new-item -path "DS001:\Media" -enable "True" -Name "MEDIA001" -Comments "creating bootable media for the Surface Pro 3 (c) windows-noob.com October 2014" -Root "E:\Media" -SelectionProfile "Everything" -SupportX86 "True" -SupportX64 "True" -GenerateISO "True" -ISOName "LiteTouchMedia.iso" -Verbose new-PSDrive -Name "MEDIA001" -PSProvider "MDTProvider" -Root "E:\Media\Content\Deploy" -Description "Embedded media deployment share" -Force -Verbose Next, manually copy BootStrap.ini and CustomSettings.ini from E:\DeploymentShare\Control to E:\Media\Content\Deploy\Control and answer yes to the replace. Next, right click on the new Media, choose properties remove support for the X86 boot wim as it's not needed for support Surface Pro 3 Select the Windows PE Tab, and choose the drop down for X64, then select Drivers and patches and make sure the WinPEx64 selection profile is selected close the wizard when done. Finally, right click the Media001 and choose Update Media Content, continue through that wizard or use this powershell script Import-Module "C:\Program Files\Microsoft Deployment Toolkit\bin\MicrosoftDeploymentToolkit.psd1" New-PSDrive -Name "DS001" -PSProvider MDTProvider -Root "E:\DeploymentShare" Update-MDTMedia -path "DS001:\Media\MEDIA001" -Verbose Once done, browse to your media folder, eg: E:\Media and use the ISO provided to image your Surface Pro 3. alternatively, you can mount the ISO and copy the contents to a FAT32 formatted usb key/disc and boot from that instead, you might need to use diskpart to make that partition (vol) active, the USB disc must be formatted as FAT32 as UEFI devices cannot boot from USB media formatted as NTFS. Quote Share this post Link to post Share on other sites
chandrashekar 0 Posted November 25, 2014 Report post Posted November 25, 2014 Dear Niall. I am a big fan of you as many of your articles are real life savers. I am approaching now for a solution for Windows 8.1 custom image deplyment on surface pro 3 . I have an image which is around 10 Gigs and am unable to copy it in USB due to Fat 32 restriction as surface only supports fat32, I dont have an option of using WDS as BootP is not an option in my network. Only way out am thinking is boot using USB and install OS over the network using MDT 2013. am not successful in it,can you guide me in doing this and also any other ways of achieving this.desperately seeking your reply. Regards Chan Quote Share this post Link to post Share on other sites
anyweb 480 Posted November 25, 2014 Report post Posted November 25, 2014 hi Chan I am a big fan of you as many of your articles are real life savers thanks ! I have an image which is around 10 Gigs and am unable to copy it in USB due to Fat 32 restriction as surface only supports fat32, I dont have an option of using WDS as BootP is not an option in my network. Only way out am thinking is boot using USB and install OS over the network using MDT 2013. am not successful in it,can you guide me in doing this and also any other ways of achieving this.desperately seeking your reply. Keith Garner explains how to work around that problem here 1 Quote Share this post Link to post Share on other sites
chandrashekar 0 Posted November 26, 2014 Report post Posted November 26, 2014 Thanks Niall, that worked ,but I am now stuck with deployment, not sure if any changes to be made to task sequence, I am getting command prompt with X:\ windows\system32 prompt after the installation completes, I exit out of it, system reboots and gets stuck in :Getting ready screen" for long time and then "Unattend.xml parse ..could not access panther etc.. failure" message pops and another message says installation incomplete and asks to reinstall again, (IE welcome page - false) which was an issue is fixed in 2013,not sure what the issue with 2013.. kindly help Quote Share this post Link to post Share on other sites
chandrashekar 0 Posted November 26, 2014 Report post Posted November 26, 2014 Am attaching the actual error message and also the "unattend.xml with oobe system" screenshot.Am unable to attach xml file for your reference to this post,kindly let me know if I have to email you if you want to have a look at it. Kindly let me know if any more info required Eagerly Waiting for your reply. Quote Share this post Link to post Share on other sites
chandrashekar 0 Posted November 26, 2014 Report post Posted November 26, 2014 Thanks Unattend.xml Quote Share this post Link to post Share on other sites
anyweb 480 Posted November 26, 2014 Report post Posted November 26, 2014 are you following my guide exactly ? are you using Windows 8.1x64 UPDATE, are you using a custom unattend.xml file (not needed) Quote Share this post Link to post Share on other sites
chandrashekar 0 Posted November 27, 2014 Report post Posted November 27, 2014 Hi Niall, I just used the steps, not the script. so the issue, but managed to get through by "disabling First Run Wizard" for IE Thanks again for all your help... Quote Share this post Link to post Share on other sites
arjanv 0 Posted December 1, 2014 Report post Posted December 1, 2014 hi, great guide. thanks. but what about the Surface Pro 2? I got MDT setup with the correct drivers and so on, but when i pxe boot the boot.wim takes about 6 ~8 minutes to load. anyone has experienced the same? Quote Share this post Link to post Share on other sites
anyweb 480 Posted December 1, 2014 Report post Posted December 1, 2014 do all your computers take this long to pull down the boot wim ? Quote Share this post Link to post Share on other sites
arjanv 0 Posted December 1, 2014 Report post Posted December 1, 2014 do all your computers take this long to pull down the boot wim ? Hi, No only the Microsoft Surface pro 2..........at least for now. Surface pro 3 and "normal" computers works fine. Quote Share this post Link to post Share on other sites
anyweb 480 Posted December 1, 2014 Report post Posted December 1, 2014 well have you tried to update the firmware on the SP2 via windows update, then once done, pxe boot and see is there any difference in speed ? Quote Share this post Link to post Share on other sites
arjanv 0 Posted December 1, 2014 Report post Posted December 1, 2014 well have you tried to update the firmware on the SP2 via windows update, then once done, pxe boot and see is there any difference in speed ? Yes, makes no difference. Quote Share this post Link to post Share on other sites
anyweb 480 Posted December 1, 2014 Report post Posted December 1, 2014 is it only slow via PXE UEFI network boot, have you tried USB boot ? Quote Share this post Link to post Share on other sites
takim 0 Posted December 29, 2014 Report post Posted December 29, 2014 I'm trying to run this but it's not creating the task sequence. I'm getting an error during this part that says cannot find file but it's there so not sure why it's failing. Any ideas? Edit: Well I got around it by manually creating the Task Sequence but I'd be curious to know what was causing the Import-MDTTaskSequence to fail though. Also thanks for this. Works great. I had tried setting one up using the technet article prior but it would boot to a recovery screen after the deployment completed. Couldn't figure out what was wrong. Import-MDTTaskSequence : Cannot bind parameter 'OperatingSystemPath' to the target. Exception setting "OperatingSystemPath": "Cannot find path 'DS001:\Operating Systems\Windows 8.1 x64\Windows 8.1 Enterprise in Windows 8.1 Enterprise x64 install.wim' because it does not exist." At C:\Users\smsworkr\Desktop\Setup MDT 2013 for Microsoft Surface Pro 3.PS1:302 char:219 + import-mdttasksequence -path "DS001:\Task Sequences\Windows 8.1 x64" -Name "Depl ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : WriteError: ( [Import-MDTTaskSequence], ParameterBindingException + FullyQualifiedErrorId : ParameterBindingFailed,Microsoft.BDD.PSSnapIn.ImportTaskSequence Quote Share this post Link to post Share on other sites
anyweb 480 Posted December 30, 2014 Report post Posted December 30, 2014 well it's telling you it can't find the Install.WIM file for Windows 8.1, look at the ridiculous long file name though, that's obviously not right, look at step 3 above and read it carefully, it should resolve your problem, let me know ok ? Quote Share this post Link to post Share on other sites
psmiddleton 0 Posted January 20, 2015 Report post Posted January 20, 2015 Hi I got the same problem as takim i have checked step three and modified the patch to the install.wim yet no joy. is there anything else that you could think of that would fix this?? thanks Paul Quote Share this post Link to post Share on other sites
anyweb 480 Posted January 20, 2015 Report post Posted January 20, 2015 sorry, what problem do you have exactly ? Quote Share this post Link to post Share on other sites
psmiddleton 0 Posted January 21, 2015 Report post Posted January 21, 2015 Hi the task sequence does not get created with the following error Import-MDTTaskSequence : Cannot bind parameter 'OperatingSystemPath' to the target. Exception setting "OperatingSystemPath": "Cannot find path 'DS001:\Operating Systems\Windows 8.1 Enterprise x64\sources\install.wim' because it does not exist." thanks Paul Quote Share this post Link to post Share on other sites
anyweb 480 Posted January 21, 2015 Report post Posted January 21, 2015 and did you copy the operating system source files to the required path before running the script above ? Quote Share this post Link to post Share on other sites
psmiddleton 0 Posted January 21, 2015 Report post Posted January 21, 2015 Hi yes i copied the OS files and downloaded all the other files as well, do i need to point to the WIM or just the folder? thanks Paul Quote Share this post Link to post Share on other sites