Lenovo's Ready to Provision (RTP) Preload: How to Install the ConfigMgr Client using a Provisioning Package

Overview
As part of the transition to modern management for Windows PC's, Lenovo has been offering custom, clean preloads for business class products.  This can be an alternative to maintaining custom images in-house while also staying current with Windows 10.

Lenovo's Ready-To-Provision custom preload (RTP), includes:
  •  Only the operating system and essential drivers.
  •  Reduced inbox apps (approximately 25 removed)
  •  No third-party software
  •  More efficient with INF-only drivers
If you're currently managing your Windows PC's with SCCM but are looking to offload image maintenance, Lenovo's RTP custom preload may be an option worth looking into.  It is simply an option you can add to a custom model.  Consult your Lenovo sales rep for more details.

Example Workflow
Provisioning package (.ppkg) is created using Windows Configuration Designer (WCD) that will:
  • Join the system to the on-premise domain
  • Suppress OOBE prompts
  • Calls a script to install the ConfigMgr client (and other tasks) on the system to allow it to come under management
Requirements
- Blank USB key 
- Latest ADK - https://docs.microsoft.com/en-us/windows-hardware/get-started/adk-install 
- ConfigMgr Client bootstrapper (ccmsetup.exe).  This can be found on the site server in the Client folder where ConfigMgr is installed.
- Ethernet connected Think product with the RTP preload (as of this post, Windows 10 1809 is current)
Optional: Enterprise product key to upgrade Windows 10 Pro to Enterprise

Package Creation
Open WCD and choose Advanced Provisioning for all Desktops
Specify the following Runtime settings:
  • Accounts > Computer Account
    • Account (This should be a domain join account)
    • Account OU
    • Computer Name (if desired)
    • DomainName
    • Password
  • OOBE > Desktop
    • HideOobe (Set to True)
  • ProvisioningCommands > DeviceContext
    •  CommandFiles (These are the files I've added for testing)
      • ccmsetup.exe
      • cmtrace.exe
      •  CmtracePS.ps1 (This is a PowerShell script courtesy of Jörgen Nilsson (@ccmexec) that will make Cmtrace the default log viewer for .log and .lo_ files.)
      • DoWork.bat (This is the main script that calls all other files for install)
      • Set-ComputerInfo.ps1 (This is a simple script to set the local computer description to match the friendly name of the system, i.e. ThinkPad T480)
    • CommandLine - cmd /c DoWork.bat
Sample BatchFile Code

set LOGFILE=%SystemDrive%\Temp\Provisioning.log
echo Copying ccmsetup to new location >> %LOGFILE%
xcopy %~dp0* /EHCIQY %SystemDrive%\Temp
echo Moving CMTrace to system32 >> %LOGFILE%
MOVE %SystemDrive%\Temp\cmtrace.exe %windir%\system32
echo Setting Local Computer Description >> %LOGFILE%
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -File Set-ComputerInfo.ps1
echo Setting CMTrace as default log viewer >> %LOGFILE%
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -File CmtracePS.ps1
echo Run GP Update to pull in client cert >> %LOGFILE%
gpupdate /force >> %LOGFILE%
echo Installing SCCM Client >> %LOGFILE%
%SystemDrive%\Temp\ccmsetup.exe /mp:https://cm01.cdrt.com SMSSITECODE=PS1 /UsePKICert
echo result: %ERRORLEVEL% >> %LOGFILE%

 I have PKI configured in my lab which is why I'm using the /UsePKICert switch.  You'll notice I'm executing GP Update before ccmsetup is initiated.  This will bring my Client Auth cert down to my test system in order for ccmsetup to complete successfully.

Deploy
Once all contents have been added into your WCD project, build and export the provisioning package and .cat file to the root of your USB drive.

Power on the RTP preloaded system and at the first screen of OOBE, insert the key.  Windows will detect the provisioning package and apply all settings, normally followed by a reboot.  Once the reboot has occurred, you should be at the login screen, joined to your domain, ready to login.

Open task manager and verify ccmsetup.exe is running.  You can also monitor ccmsetup installation at windows\ccmsetup\ccmsetup.log 

Further Reading
ConfigMgr Client Installation - https://docs.microsoft.com/en-us/sccm/core/clients/deploy/about-client-installation-properties

Provisioning Package for Windows 10 - https://docs.microsoft.com/en-us/windows/configuration/provisioning-packages/provisioning-packages