Last week I had a couple of content related issues at a customer after a Configuration Manager 2012 SP1 to Configuration Manager 2012 R2 upgrade. What happened is that one day all the content was nicely distributed to the distribution points and after enabling Content Validation on the Distribution Points almost half of the packages were “gone”.
After redistributing the content to the distribution point it all looked well again, but after a content validation task the content “is gone” again. (see in the left picture) Let’s see what happened.
During the Content Validation process errors like below where recorded in the smsdpmon.log
- CContentDefinition::LibraryPackagesWmi: The package data in WMI is not consistent to PkgLib
- CContentDefinition::LibraryPackagesWmi: Package PS10001E can’t be found in PkgLib
- CContentDefinition::LibraryPackagesWmi failed; 0x80004005
- Failed to evaluate package PS10001E, Error code 0x80070002
In the picture above you see, that the evaluation of package PS10001E is started and that the evaluation is failed with the error 0x80070002. This error means that the content is not accessible or not available.
When looking in the SCCMContentLib\PkgLib folder and we search for the PS10001E.ini file we see that this file is not available. So when the SCCMContentLib on the primary site server is not valid the distributed package will also be not valid and the content validation task will detect this.
So what I needed to do was the flowing, for applications you need to use the Update Content task for every Deployment Type for every failed application. This will create a new version of the application and redistribute the content from the package source share to the content library. For pacakges and other objects like images you need to change the object to create a new version.
After you have created a new version and you run the Content Validation again you see that the content is validated and verified correctly.
So after creating new versions of the applications and other objects all was good again.
The following can be helpful when you run into issues with your content.
The Content Validation Task is a Scheduled Task at every Distribution Point where this feature is enabled. Run the task manually and the content is validated again.
Another way is to check only one package instead of all packages, which can take a long time depending of the amount of content.
You are able to run SMSDPMON.EXE (which is the executable that validates the content!) with a parameter. So if you run the executable as follows only the package with the package ID will be validated. This saves lots of time! It is not documented but it works great!
<Program Files>\Microsoft Configuration Manager\bin\x64\smsdpmon.exe <PackageID>
<Program Files>\Microsoft Configuration Manager\bin\x64\smsdpmon.exe PS10001E
Thanks to these blogs while troubleshooting.
An earlier Content Troubleshooting blog of myself can be found here:
Hope this helps!
April 28, 2015 @ 01:59
Great info Peter. I love the trick at the end of running the command from the Shell.