Let’s see how to Customize Windows Out of Box Experience using SCCM. In this post, I will explain to you the scenarios where you will able to display language and region settings for user’s inputs in Windows Out of Box Experience (OOBE) after operating system deployment using the configuration manager.
The purpose to show OOBE is to allow flexibility for end-users to specify settings for customizing the Windows 10 first-run experience. There are several pages in the OOBE flow, each one requests a specific action or input from the user.
I have customized the complete OOBE flow to suppress OOBE flow except for region and keyboard layout with the answer file. In the same way, you can also customize based on your requirements.
Lets start with the process to create an answer file to customize an image.
Customize the Out of Box experience(OOBE)
Windows System Image Manager (Windows SIM) is the tool included with the Windows ADK that you can use to create unattended Windows Setup answer files. Download and install the Windows ADK.
Windows SIM uses Windows image (.wim) files and catalog (.clg) files to display the available components and packages that can be added to an answer file (Unattend.xml).
Windows images and catalog files contain configurable settings that you can modify after the component or package is added to an answer file.
The Windows System Image Manager user interface contains a series of panes. The following screen shot illustrates the Windows SIM user interface. More Details Windows SIM Overview.
- The limitations of using Windows image files Refer Microsoft Article.
Create a catalog file
- Start Windows System Image Manager, You can open Windows SIM by searching your computer for “Windows System Image Manager”.
- Click File > Select Windows Image.
- In Select, a Windows Image, browse to and select the image file (install.wim) and click OK. Click Yes to create the catalog file.
Note – Install.wim is located in the Sources folder of downloaded Windows ISO.
- Windows SIM creates the file based on the image file and saves it to the same folder as the image file. This process can take several minutes.
The catalog file appears in the Windows Image pane with lists the configurable components and packages in that image.
Create New Answer File
- Click File > New Answer File. The new answer file appears in the Answer File pane.
- Add new answer file settings, In the Windows Image pane, expand Components, right-click amd64_Microsoft-Windows-Shell-Setup_(OS Build version)_neutral, and then select Add Setting to Pass 7 oobeSystem.
- oobeSystem: Most of these settings run after the user completes OOBE.
You can specify which configuration pass to add new settings to pre-configure the Out of Box Experience. I had specifies the behavior of some of the Windows Out of Box Experience (OOBE) screens to skip pages from appearing in OOBE. Refer Microsoft article to Automate OOBE.
|HideEULAPage||Hides the Microsoft Software License Terms page.|
|HideLocalAccountScreen||Hides the Administrator password screen. This setting applies only to the Windows Server editions.|
|HideOEMRegistrationScreen||Hides the OEM registration page.|
|HideOnlineAccountScreens||Specifies whether the user will be required to sign-in during OOBE.|
|HideWirelessSetupInOOBE||Hides the Join Wireless Network page.|
|NetworkLocation||Specifies the network type.|
|OEMAppID||Enables the OEM to specify app information.|
|ProtectYourPC||Hides the Help protect your computer and improve Windows automatically page. That page specifies whether updates are automatically downloaded and installed.|
|UnattendEnableRetailDemo||Use to enable retail demo mode on the device.|
|VMModeOptimizations||Use to customize the user experience when in VM mode.|
|AutoLogon||Specifies credentials for an account that is used to automatically log on to the computer.|
- Save the answer file, for example: D:\AnswerFiles\UnattendWin10.xml
Note – If you open an existing answer file, you might be prompted to associate the answer file with the image. Click Yes.
In order to configure OOBE, You can run the following powershell script to get started with configuration.
Start-Process -FilePath "C:\windows\system32\sysprep\sysprep.exe" -ArgumentList "/oobe /reboot /unattend:C:\Windows\Temp\UnattendWin10.xml"
Special Thanks to Jörgen Nilsson for the post How to show OOBE for AzureAD Join after OSD with SCCM and Mani for sharing Tips.
Next I am going to create a batch file and use the powershell script and unattended file to copy to location (C:\Windows\Temp) for execution.
copy /y "%~dp0WindowsOOBE.ps1" "C:\Windows\Temp" copy /y "%~dp0UnattendWin10.xml" "C:\Windows\Temp"
Create Package in SCCM
In the Configuration Manager console, Go to the Software Library workspace, expand Application Management, right click Packages and select Create Package.
- On the Package page, Specify the following information and Click Next.
- Name: Specify a name for the package.
- Description: Specify a description for this package.
- Source folder: Choose to Browse to select the UNC path and then specify the location of the source files for the package.
- On the Program Type, Choose the type of program Do not create a program. Click Next.
- Review the settings, Click Next.
Click Close to Complete the wizard.
- The Package is created successfully.
- You must distribute the content to the distribution point. Right-click on package and click Distribute Content.
- Review the selected content for distribution. click Next.
- Add the distribution point or distribution point groups. Review the selected distribution points, groups and click Next.
- Review the settings and click Next.
- Click close to complete the Distribute Content wizard.
You can monitor the content status if its showing yellow color that means distribution is in progress. If the content distribution was successful, it will be appear with Green color as shown.
Create or Edit an Existing Task Sequence
This Guide will help you to create a Configuration Manager task sequence from scratch.
Customize Task Sequence
- In the Configuration Manager console, go to the Software Library workspace, expand Operating Systems, and then select the Task Sequences node.
- In the Task Sequence list, select the task sequence that you want to edit.
We are going to add following steps in task sequence.
Set Task Sequence Variable
- To add this step in the task sequence editor, select Add, select General, and select Set Task Sequence Variable.
- On the Properties tab for this step, configure the settings described in this section. Specify the name of a task sequence action variable and Value.
SMSTSPostAction is a variable that contains a command that’s run after the task sequence completes.
- In this step, I will run a PowerShell script that contains a command line to display the OOBE screen to the user.
Powershell.exe -ExecutionPolicy Bypass -File C:\Windows\Temp\WindowsOOBE.ps1 C:\Windows\Temp\WindowsOOBE.ps1 -<Path of Powershell Script>
Add Run Command Line
To add this step in the task sequence editor, select Add, select General, and select Run Command Line.
On the Properties tab for this step, configure the settings described in this section. Specifies the command line that the task sequence runs.
Package – Select this option to specify the Configuration Manager package that contains the necessary files.
Don’t be confused with task sequence action, Here in mine case the CopyWindows OOBE step holds a command line called “CopyFiles.bat”. That will copy all the required files in target machine [C:\Windows\Temp] to perform the post action task.
Review others settings added in Task Sequence, make sure to apply all changes. Click Apply and OK, close the window.
Select the task sequence and target the Deployment to Collections.
On Target Computers, depends on deployment settings. You will be presented with the Welcome to the Task Sequence Wizard.
Complete the Task Sequence Wizard by selecting deployed task sequence. Click Next.
Once you complete the Wizard, the deployment of the new operating system begins.
Once the deployment completed successfully, you will see the Windows Out of Box Experience (OOBE). OOBE consists of a series of screens, the flow requests input from the user.
The first screen will prompt you to set region, This sets your time and date automatically. Select the region where your PCs are located. Then select Yes to continue.
Choose a keyboard layout. This step configures the onscreen keyboard to match your keyboard’s physical layout. It also configures language and keyboard characters. Select Yes to continue.
If you want to add another keyboard layout, select Add layout. Otherwise, select Skip.
- It might take a few minutes to complete setup.
- Once you finish the complete process. Devices are set up and ready to use.