In this post I will be showing you how to find specific software update’s Package ID detail. Unlike Application / package which has a specific location and App ID associated with it, a specific update group can have multiple Software updates and those software updates can be part of various Deployment Packages.

By looking into configuration Manager console, it is not easy to find specific update part of which Deployment package. This can be an easy process by using SQL query.

Let’s find few patches on configuration Manager console which are downloaded and we will run the query to find the packages.

Launch Configuration Manager console and navigate to \Software Library\Overview\Software Updates\All Software Updates

Use the filter by clicking on Add Criteria > Downloaded, use Downloaded as Yes.

If you are unable to see Unique Update ID, enable it by right clicking the column and click on “Unique Update ID”.

SQLQuerySpecificSoftwareUpdatePackageID 00

Search for the update you are looking for to find its package detail. You may also copy all the content by selecting it and pasting it into notepad or excel.

SQLQuerySpecificSoftwareUpdatePackageID 01

I have made a note of few Unique Update ID.

Now let’s launch SQL Management Studio and navigate to Database > CM_<SiteCode>.

Click on New Query and run following SQL query:

SELECT distinct UI.ArticleID, UI.Title, CI.CI_UniqueID, CP.PkgID, P.Name FROM v_UpdateInfo UI
JOIN v_ConfigurationItems CI ON UI.CI_ID = CI.CI_ID
JOIN v_CIContents_All CIC ON CI.CI_ID = CIC.CI_ID
JOIN CI_ContentPackages CP ON CP.Content_ID = CIC.Content_ID
JOIN v_Package P ON CP.PkgID = P.PackageID
WHERE CI.CI_UniqueID like 'dbd186c7-8f9e-495f-978c-38895d4feb9e'
SQLQuerySpecificSoftwareUpdatePackageID 02 1

By running this query we found the Software update name 2021-08 Servicing Stack Update for Windows 10 Version 1909 for x64-based Systems (KB5005412) showing CI_UniqueID along with PkgID and Package name.

Same way you can use above mentioned query to find multiple software updates including feature update as well.

Below mentioned example is for multiple updates, collect all CI_UniqueID’s from Configuration Manager console and replace it within the sql query with last few lines:

SELECT distinct UI.ArticleID, UI.Title, CI.CI_UniqueID, CP.PkgID, P.Name FROM v_UpdateInfo UI
JOIN v_ConfigurationItems CI ON UI.CI_ID = CI.CI_ID
JOIN v_CIContents_All CIC ON CI.CI_ID = CIC.CI_ID
JOIN CI_ContentPackages CP ON CP.Content_ID = CIC.Content_ID
JOIN v_Package P ON CP.PkgID = P.PackageID
WHERE CI.CI_UniqueID in
('dbd186c7-8f9e-495f-978c-38895d4feb9e',
'1d4949ea-1f12-4874-9292-be770e9d6d10',
'299949d5-edf0-4ab7-ad37-4d0a62fd664d'
)
SQLQuerySpecificSoftwareUpdatePackageID 03

Conclusion

This is a very straight forward process to find package details of any Software Update, Feature Update, Enablement Package or any other kind of Update.