In the Windows 10 servicing approach (WaaS) keeping the deployment media/image up to date with the latest updates can be a challenge and confusing at times. In this blog post – “Quick Start Guide Windows 10 WaaS Servicing Updates Using OSDBuilder” I will outline the quick steps required to update the Windows 10 or Server 2019/2016 ISO media that is used during SCCM or MDT OS deployment. Using OSDBuilder developed and maintained by David Segura (OSDBuilder.com) is currently the best PowerShell module to perform offline servicing that ensures the Windows 10 ISO media (or Image) is up-to-date including enabling .NET 3.5, installing the updated OneDriveSetup and more. Moving away from building custom images (WIMs) in modern Windows 10 management is the best approach when possible. Once the ISO media is updated using this approach you only have to run a few commands each month Microsoft releases updates and re-import the current updated WIM or ISO source files for In-Place Windows 10 upgrades.
- Ensure monthly Windows 10 (or Server OS) updates are included in the ISO/WIM image SCCM-MDT packages used by OS deployment.
- Ensure the latest OneDriveSetup.exe is included in Windows 10 ISO media (Optional – recommended).
- Enable/Disable Windows 10 or Server OS Features such as .NET 3.5, SMBv1 and more.
- Use OSDBuilder to fully patch and perform offline servicing of the Windows 10 ISO media with the latest .NET, Adobe Flash, Servicing Stack update, Dynamic Update, and Latest Cumulative update.
- Set PowerShell Set-ExecutionPolicy to “ByPass” or “Unrestricted” on the management PC (ByPass is more secure than unrestricted)
- Local administrative rights on a Windows 10 management PC
- Pre-Download the Windows 10 VLSC or MSDN media
- Run a PowerShell command prompt with elevated admin access
- Windows 10 ADK/WinPE 1809 (Recommended) installed on management PC
- Adequate local disk space on management PC where the PowerShell scripts will run the servicing for Windows 10 (Recommended D: or E: drive, not C: OS Disk)
David Segura over at OSDBuilder.com has done great work in creating a PowerShell module called “OSDBuilder” that simplifies the updating of the Windows 10 or Server 2019 (2016 too) ISO media that is used for SCCM/MDT OS Deployment task sequences. Traditionally, I would use MDT to build custom WIM images but these days there is a better approach – service the Windows 10 ISO media directly with the latest security updates, features and import that as the quarterly or monthly media directly into the SCCM OS deployment task sequence. OSDBuilder is able to perform Offline Servicing to a Windows OS image which can then be used in a Windows 10 deployment or In-Place Upgrade task sequence. This is not possible with a captured image process such as MDT or SCCM build and capture task sequence which is limited.
From the Windows 10 management PC (don’t use a Windows 7 PC; Stop it) download and install the Windows 10 1809 ADK/WinPE tools. If you have a previous version, you’ll have to uninstall the old version, reboot and install the new versions. Select the defaults and only select the highlighted features below.
Select these features as shown below and click install.
Install the ADK WinPE installer and accept the defaults.
From a local drive other than the OS drive, create an empty folder called “OSDBuilder“. If you only have 1 drive create the folder but be aware over time your disk space may fill up as you service the Windows 10 media each time or with every Windows 10 or Server OS version. In this example I have an “E” drive with plenty of free disk space.
Later after the PowerShell module is imported we’ll run a command to force OSDBuilder to use this path.
From your Windows 10 management PC, Pre-download and mount the Windows 10 ISO media from your VLSC/MSDN website. Make sure to copy and mount the media locally, not over a network share. When the servicing process is complete, eject the media.
Import the OSDBuilder PowerShell Module
To import and install the OSDBuilder PowerShell module perform these steps from an elevated PowerShell command.
- Install-Module OSDBuilder (Enter “Y” for yes if prompted to install Nuget provider and the OSDBuilder module)
- Set-ExecutionPolicy ByPass
- Import-Module OSDBuilder
From the PowerShell command line, run: Set-ExecutionPolicy ByPass
This needs to be set or you won’t be able to use and run the OSDBuilder PowerShell module. Select “Y” to accept the change.
Import the OSDBuilder module with this command.
Set the OSDBuilder Main directory
At this point make sure you Pre-created the OSDBuilder older on the hard drive you desire (not C: drive) E:\OSDBuilder.
Run this command to change the OSDBuilder directory to the folder you pre-created. By default OSDBuilder will create a folder on the root of the C: drive (C:\OSDBuilder). Skip this step if you simply want to use the OS disk C:\ drive.
Get-OSDBuilder -SetPath E:\OSDBuilder
Finally, run this command to create the Empty folder structure for OSDBuilder from the path you set in the previous step.
Import-OSMedia from Mounted ISO
With the Windows 10 ISO media mounted on your management PC, run this command and OSDBuilder will automatically scan the media and prompt you to select the Windows 10 index to import (Typically Index 3 – Enterprise). Click “Ok” once you select the index.
Windows 10 Index 3 (Enterprise) import status.
Optional: Update OneDriveSetup.exe
Run this command to include the latest version of OneDriveSetup that is critical for OneDrive for Business use.
Get-DownOSDBuilder -ContentDownload ‘OneDriveSetup Production’
Important Note: Use ‘OneDriveSetup Enterprise‘ for the 60 day Ring update from Microsoft or ‘OneDriveSetup Production’ for the latest/current version. I prefer to have the latest.
The OneDriveSetup.exe will be updated in the OSDBuilder > Content > OneDrive folder. OSDBuilder will later automatically include this update in the serviced ISO media.
Run Update-OSMedia -Download -Execute
Run the following command to update the previously imported ISO media. Select the previously imported OSMedia. With each imported Windows 10 media, run this command to patch/update the media copied to the local management PC. OSDBuilder will connect to Microsoft and download and offline install the security updates including Servicing Stack, Dynamic Updates, Adobe Flash,.Net security updates and more.
Update-OSMedia -Download -Execute
Complete. The imported OSMedia has been updated.
Create a New OSBuild Task
Now that the OS Media is imported and updated, you must create a task that you’ll use to re-run the monthly updates with any features you enable or disable. Run this command to create a new task (or re-run a previously created task). In my case, I’m planning to enable .NET 3.5 SP1 so I’ve created the task name as shown below. Create the name that makes sense for you.
New-OSBuildTask -TaskName “Win10 x64 Ent 1809 Enable_NetFX3v1.0” -EnableFeature -EnableNetFX3
Note: Make sure your command includes the switch: -EnableFeature -EnableNetFX3 to enable the .NET 3.5 feature.
Select the previously updated Source OSMedia when prompted. Click “Ok”. Click “Cancel” to Skip adding any other features.
Click “Cancel” to Skip installing any other features in this case. If you click “Yes” accidentally you will install the selected FeatureName (AppServerClient).
Update New-OSBuild Content
Run this command to update the OSBuild content and apply the task features created in the previous command.
New-OSBuild -Download -Execute
The new OSBuild content media is updated. Finally, create the ISO updated media file.
Create a Media ISO
Finally, run this command to create a media ISO that will include the security update and enabled features. Select the previously created “OSBuild” media.
Note: If you get an error be sure you installed the Windows 10 ADK/WinPE installers.
The new ISO will be created in the OSBuilds > ISO folder as shown below. When you mount this ISO import the WIM from this source location for SCCM or MDT OSD use after you copy the content to your SCCM source share.
Testing OSBuild ISO
Using a VM client, the final updated results are shown here. The latest Windows 10 version and update can be confirmed by running winver command from a run prompt. Note that OneDriveSetup.exe is included in the updated OS deployment.
Monthly Cycle Updates
Updated 5.19.2019. Steps 1 and 2 below are required each month Windows 10 updates are released.
Now that the OSDBuild task is created each month you only need to run the following commands to update OSDBuilder PowerShell module, update the OSBuild media and create the new ISO that will be used to import into SCCM or MDT for deployment. If you need to create a new task or enable a different Windows 10 or Server feature, run the previous “New-OSBuildTask” command.
- OSDBuilder -Update
- Run the OSDBuilder -Update PowerShell command to get the latest Windows 10 Catalog XML files and update OSDBuilder PowerShell module.
- Update-OSMedia -Name “Windows 10 Enterprise x64 1809 17763.437” -Download -Execute
- Run to install latest Win10 Updates. In this case, the May 14th, 2019 (17763.503) Windows 10 updates will install. Use the -Name parameter to specify the OSDBuilder media name you created from the previous month or the last time you ran OSDBuilder. Your OSD media builds are located in the “OSDBuilder\OSMedia” folder.
- New-OSBuild -Download -Execute
- Pick the New-OSBuildTask you created with the .NET 3.5 feature Install
So that concludes this blog post on using OSDBuilder PowerShell module used to perform Offline servicing of the Windows 10 ISO media for SCCM or MDT OS deployment use.
OSDBuilder Home – PowerShell module developed and maintained by David Segura.
The OneDrive sync client update process – This article is for IT admins who manage the new OneDrive sync client in an enterprise environment.
Windows 10 release information – Windows 10 release information maintained by Microsoft.