Had trouble in the past using Configuration Manager (SCCM) Windows 10 Servicing to upgrade your Enterprise Clients to the latest Windows 10 Feature Release. Then take a look at
By customising the clients SetupConfig.ini you can now take control of the upgrade process, injecting drivers, language packs and running Post Install scripts….
Also take a look at the Optional SetupConfig parameters
Microsoft Manage Windows as a Service
And what components make up the Dynamic Updates
Play around and comment on the best approach that works for you, but a generalised approach could be
Microsoft Desktop Analytics – https://docs.microsoft.com/en-us/mem/configmgr/desktop-analytics/overview
– Use to understand client and application inventory within the estate Make informed decisions about the updated readiness of clients
– Identify any remedial work that needs to be delivered outside of the Windows 10 feature update either before or after the Upgrade
– Identify devices that have passed the readiness check and move forward to Microsoft Serving Plan
Microsoft Serving Plans – https://docs.microsoft.com/en-us/mem/configmgr/osd/deploy-use/manage-windows-as-a-service
– Upgrade Rings
– Analyse SetupDiag errors
SetupConfig.ini – https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-command-line-options
– Customise SetupConfig.ini for Windows 10 Feature Updates and copy to client %systemdrive%\Users\Default\AppData\Local\Microsoft\Windows\WSUS\SetupConfig.ini
– SetupConfig.ini can be customised with many of the setup.exe options
DynamicUpdate (within the SetupConfig.ini)
If your estate allows you could fully enabled dynamic updates or combine update options
Enable Dynamic Update operations are performed.
Disable Dynamic Update operations are not performed.
NoDrivers Dynamic Update operations are performed except driver acquisition.
NoDriversNoLCU Dynamic Update operations are performed except driver and latest cumulative update acquisition.
NoLCU Dynamic Update operations are performed except latest cumulative update acquisition.
Having policies forbidding external updates to Microsoft due to network usage, data allowance, control etc then all is not lost. You can use a combination of the update options, such as setting the DynmaicUpdate to NoDriversNoLCU
Creating a Task Sequence or Applications that is a pre-requisite to the Feature Upgrade that downloads Drivers, Language Packs and FODs locally to the client.
Then within the SetupConfig.ini configure the options /InstallDrivers and /InstallLangPacks to point to the downloaded Drivers, Language Packs and FODs available in %ProgramData%\FeatureUpdate.
You would then not be reaching out externally for Drivers, or Cumulative Updates, only Setup binaries and Service Stacks to help with the upgrade success rate, which would be a small payload.
This would provide a good balance between DynamicUpdates and external network utilisation.
Maybe during the Feature Update s setup stages preinstall.cmd and precommit.cmd, you want to run custom tasks and have these RunOnce or Run for this and every future Feature Update then check out Microsoft Custom Script link below
Custom Scripts RunOnce or Run – https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/windows-setup-enable-custom-actions?view=windows-11
So the Windows Feature has completed and you may want to run some Post Upgrade tasks…so why not have a look at adding them to the the SetupComplete.cmd.
Maybe install a Cumulative Update , helpful when language Packs installed or remove Windows Built-in Apps, trigger Hardware and Software inventory, run a clean-up and remove locally downloaded Drivers and Language Packs %ProgramData%\FeatureUpdate
Setupcomplete and ErrorHandler.cmd – https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/add-a-custom-script-to-windows-setup