OSDCloud WinPE and OOBE

In this example, I configured a PSCloudScript that had separate routines for WinPE and OOBE. Both routines used the same command line

powershell iex(irm 10.demo.osdcloud.com)

The above URL is broken at this time until my testing is complete

WinPE

This routine had OSDCloud preconfigured with everything except the OSLanguage. I work for a global company, so a single language won't work

Start-OSDCloud -OSBuild 20H2 -OSEdition Enterprise -OSLicense Volume -Firmware -SkipAutopilot -SkipODT -Restart

This allows the technician to specify the Language during deployment. This deployment was configured to Restart to OOBE automatically

OOBE

Press Shift + F10 to open a command prompt from this screen

This OOBE is configured to open Display Settings so I could resize the screen as needed on my Virtual Machine. Closing Display Settings will continue to the next step

Language is important as it gives me the ability to add an additional language or keyboard if necessary

Finally Date and Time Settings so I can change from Pacific Time Zone to something a little closer to home

Autopilot was configured with my GroupTag in the script, so all I needed to do was enter my credentials to join my Tenant. You will notice the main window was configured to remove specific Appx Packages and to add Windows Capabilities that I needed like RSAT and NetFX3

Windows Update was also enabled for Drivers and the Operating System

Finally, the process ends with an automatic reboot that will wait for the Autopilot to complete first

All the above OOBE steps were completed with this simple configuration

#=================================================
#   oobeCloud Settings
#=================================================
$Global:oobeCloud = @{
    oobeSetDisplay = $true
    oobeSetRegionLanguage = $true
    oobeSetDateTime = $true
    oobeRegisterAutopilot = $true
    oobeRegisterAutopilotCommand = 'Get-WindowsAutopilotInfo -Online -GroupTag Demo -Assign'
    oobeRemoveAppxPackage = $true
    oobeRemoveAppxPackageName = 'CommunicationsApps','OfficeHub','People','Skype','Solitaire','Xbox','ZuneMusic','ZuneVideo'
    oobeAddCapability = $true
    oobeAddCapabilityName = 'ActiveDirectory','BitLocker','GroupPolicy','RemoteDesktop','ServerManager','VolumeActivation','NetFX'
    oobeUpdateDrivers = $true
    oobeUpdateWindows = $true
    oobeRestartComputer = $true
    oobeStopComputer = $false
}

Summary

This is an incredibly easy way to deploy an Autopilot device without any infrastructure with a single command line used in WinPE and OOBE. I'm still working on some cleanup, but expect to hear more soon

powershell iex(irm 10.demo.osdcloud.com)

OSDeploy is sponsored by Recast Software and their Systems Management Tools

Last updated