I’ve had a bit of time recently to work on my ConfigMgr lab environment and one of the tasks I had on my list was to look into offline image servicing. This functionality allows you to inject updates into your reference image on a scheduled basis, straight from the console.
However, when I tried to schedule servicing for my Windows 10 1511 images, it only showed me Windows 8 updates. After a lot of digging I discovered that in my image properties it was displaying my image version number as
6.2.10240.16384. You can see this by selecting your image and in the bottom pane, viewing your OS Version:
Obviously this is wrong because Windows 10 build numbers all start 10.0… This matters because when you open the SMSProv.log you can see that it constructs and runs a query for updates applicable to that image version:
ExecQueryAsync: START select * from SMS_UpdateCategoryInstance where LocalizedCategoryInstanceName like '%Windows 8%'
I discovered this article which mentions a similar issue was fixed in a hotfix for SCCM 2012 R2, but I’m using ADK 10 1607 and SCCM CB 1606, so that didn’t apply. However, from that article it seems that this occurs when you use ConfigMgr for your build and capture, whether that be with a TS or with the Capture media.
I managed to resolve the issue by:
- Manually mounting the image in DISM
dism /Mount-Wim /WimFile:c:\temp\Win10Goldx64_v2.wim /index:2 /MountDir:C:\temp\mount
- Getting the image properties
dism /Image:c:\temp\mount /Get-CurrentEdition
Which actually showed my the correct image number:
- Then unmounting/committing the wim.
dism /Unmount-Wim /MountDir:C:\temp\mount /commit
After that I reimported into ConfigMgr and it showed the right version number and Offline Servicing gave me the right updates.