Want to deploy Windows 8.1, without upgrading your SCCM environemnt to 2012 R2? This is supported with SCCM 2012 SP1 CU3 – the steps below outline how you can do this.
Download and install the Windows 8.1 ADK: http://www.microsoft.com/en-us/download/details.aspx?id=39982
Create the following folders on the machine you install the ADK on:
- C:\Temp\WinPEx64\
- C:\Temp\WinPEMount
Copy C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim to C:\Temp\WinPEx64.
Modify the script below to create the amd64 boot image, import the required optional components (and drivers):
{code lang:text showtitle:false lines:false hidden:false}:: CD to correct DISM verion (ADK 8.1)
cd “C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Deployment Tools\amd64\DISM”
:: Mount Image
dism.exe /mount-wim /wimfile:C:\Temp\WinPEx64\winpe.wim /index:1 /mountdir:C:\Temp\WinPEMount
:: Add required components
dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\winpe-wmi.cab”
dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\winpe-scripting.cab”
dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\winpe-wds-tools.cab”
dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureStartup.cab”
dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-HTA.cab”
dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab”
dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-HTA_en-us.cab”
dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-SecureStartup_en-us.cab” dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WDS-Tools_en-us.cab” dism.exe /image:C:\Temp\WinPEMount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Scripting_en-us.cab”
:: Inject Drivers for vmxnet3, Surface Ethernet, Intel i217-LM
dism.exe /image:C:\Temp\WinPEMount /add-driver /driver:C:\Temp\Drivers\Ethernet_dongle\msu64w8.inf
dism.exe /image:C:\Temp\WinPEMount /add-driver /driver:C:\Temp\Drivers\72FNC_A00-00\win7x64\E1d62x64.INF
dism.exe /image:C:\Temp\WinPEMount /add-driver /driver:”C:\Temp\Drivers\vmxnet3-8.3.12 build-493255\vmxnet3ndis6.inf”
:: Commit changes and unmount
dism.exe /unmount-wim /mountdir:C:\Temp\WinPEMount /commit
{/code}
Now import the boot image to SCCM, import using the name “Boot image (x64) [WinPE5 Custom]” – this is important as we’ll use this name again to enable F8 Command Support via PowerShell.
Use the following PowerShell script to enable Command Line support in your Custom WinPE 5 boot image – modified source from http://www.projectleadership.net/blogs_details.php?id=3169. Change the Site Server, Site Code, and if necessray the Boot Image name you used earlier during the import process.
{code lang:text showtitle:false lines:false hidden:false}Clear-Host;
$SccmServer = “<site server FQDN>”;
$SiteCode = “<Site Code>”;
# Retrieve a list of all boot images that do not have command support enabled.
$BootImageList = Get-WmiObject -ComputerName $SccmServer -Namespace root\sms\site_$SiteCode -Class SMS_BootImagePackage;# -Filter “EnableLabShell <> ‘True’”;
$BootImageClass = [wmiclass]“\\$SccmServer\root\sms\site_$SiteCode`:SMS_BootImagePackage”;
foreach ($BootImage in $BootImageList) {
# Retrieve instance directly, to include lazy properties
$BootImage = [wmi]$BootImage.__PATH;
if ($BootImage.Name -eq “Boot image (x64) [WinPE5 Custom]” -and $BootImage.EnableLabShell -ne “true”) {
try {
$BootImage.EnableLabShell = ‘True’;
[void]$BootImage.Put();
$BootImage.RefreshPkgSource();
Write-Host -Object (’Enabled command support testing on package: {0}, {1} {2}’ -f $BootImage.PackageID, $BootImage.Name, $BootImage.Version);
}
catch {
Write-Warning -Message (’Failed to enable command support testing on package: {0}, {1} {2}’ -f $BootImage.PackageID, $BootImage.Name, $BootImage.Version);
}
}
}{/code}
Distribute the Boot Image, and enable “Deploy this boot image from the PXE-enabled Distribution Point.”
Next create a USMT package in SCCM from files located under: C:\Program Files (x86)\Windows Kits\8.1\Assessment and Deployment Kit\User State Migration Tool.
Ensure that you use the new boot image, and USMT package in any Windows 8.1/2012 R2 Task Sequences.