Jerzystransfer

SCCM 2012 R2 Distribution Point Status Warning Messages



9 posts in this topic

Hello all -

 

Wondering if anyone has a possible solution for my issue. I am monitoring my DP's and a few of them turned yellow after we upgraded to R2 about a month ago. Problem is when I look at the details is tells me to view the smsdpmon.log but each of those log files on the servers have been purged already. Is there another way for me to figure out what package was having the issue and possible remove it from WMI?

 

Failed to retrieve the package list on the distribution point ... Or the package list in the content library doesn't match the one in WMI. Review smsdpmon.log for more information about this failure.

 

Thanks,

 

 

Share this post


Link to post
Share on other sites


Peter33    43

We had the same problem and i was able to solve it with the help of 2 powershell scrtipts found on the net.

 

Here is #1 to run http://gallery.technet.microsoft.com/Powershell-script-to-fix-81dc4e69

It's pretty much selfexplaining and well documented.

 

Here is #2 which has to be executed on every distribution point http://sccmroad.wordpress.com/2014/03/11/powershell-script-to-compare-dp-packages-with-wmi/

I had to modify it slightly though to get it working by removing "| Where-Object { $_.SideIndicator -eq “” }" from it. Only put 1 of the last 2 foreach-Loops to the script at a time and run them both ony by one.

Share this post


Link to post
Share on other sites
Aquintus    1

Thank you! I had to change it too, because there was missing something:

$WMIPkgList = Get-WmiObject -Namespace Root\SCCMDP -Class SMS_PackagesInContLib | Select -ExpandProperty PackageID | Sort-Object

$ContentLib = (Get-ItemProperty HKLM:SOFTWARE\Microsoft\SMS\DP).ContentLibraryPath

$PkgLibPath = ($ContentLib) + '\PkgLib'

$PkgLibList = (Get-ChildItem $PkgLibPath | Select -ExpandProperty Name | Sort-Object)

$PkgLibList = ($PKgLibList | ForEach-Object {$_.replace('.INI',"")})

$PksinWMIButNotContentLib = Compare-Object -ReferenceObject $PKgLibList -DifferenceObject $WMIPkgList -PassThru | Where-Object { $_.SideIndicator -eq "=>" }

$PksinContentLibButNotWMI = Compare-Object -ReferenceObject $PKgLibList -DifferenceObject $WMIPkgList -PassThru | Where-Object { $_.SideIndicator -eq "<=" }

Write-Host Items in WMI but not the Content Library
Write-Host ========================================
$PksinWMIButNotContentLib

Write-Host Items in Content Library but not WMI
Write-Host ====================================
$PksinContentLibButNotWMI


##Delete WMI-Entries not in PkgLib
Foreach ($PkgWMI in $PksinWMIButNotContentLib){
Get-WmiObject -Namespace Root\SCCMDP -Class SMS_PackagesInContLib -Filter “PackageID = '$PkgWMI'" | Remove-WmiObject -Confirm
}

##Delete .ini´s in PkgLib not in WMI
Foreach ($PkgLIB in $PksinContentLibButNotWMI){
Remove-Item -Path "$PkgLibPath\$PkgLIB.INI" -Confirm
}

But it didn´t resolve the problem. I still have old error messages from the day i upgraded from 2012 SP1 to R2.

Share this post


Link to post
Share on other sites
Peter33    43

Here is the script i am using.

cls

$WMIPkgList = Get-WmiObject -Namespace Root\SCCMDP -Class SMS_PackagesInContLib | Select -ExpandProperty PackageID | Sort-Object
$ContentLib = (Get-ItemProperty HKLM:SOFTWARE\Microsoft\SMS\DP).ContentLibraryPath
$PkgLibPath = ($ContentLib) + "\PkgLib"
$PkgLibList = (Get-ChildItem $PkgLibPath | Select -ExpandProperty Name | Sort-Object)
$PkgLibList = ($PKgLibList | ForEach-Object {$_.replace(".INI","")})
$PksinWMIButNotContentLib = Compare-Object -ReferenceObject $WMIPkgList -DifferenceObject $PKgLibList -PassThru 

##### section 1 #######################
Write-Host Items in WMI but not the Content Library
Write-Host ========================================
$PksinWMIButNotContentLib
Foreach ($Pkg in $PksinWMIButNotContentLib){
    Get-WmiObject -Namespace Root\SCCMDP -Class SMS_PackagesInContLib -Filter "PackageID = '$Pkg'" | Remove-WmiObject -Confirm
}
###### end section 1 ##################

##### section 2 #######################
#Write-Host Items in Content Library but not WMI
#Write-Host ====================================
#$PksinContentLibButNotWMI
#Foreach ($Pkg in $PksinContentLibButNotWMI){
#   Remove-Item -Path "$PkgLibPath\$Pkg.INI" -Confirm
#}
##### end section 2 ###################

 

After running both scripts, you have to run the content validation on your distribution point, to get rid of errors and warnings.

Share this post


Link to post
Share on other sites
Aquintus    1

I saw that i have some ini-files named like "XXX0000A.INI.xyz". I had to delet them too and run content validation. Now everything is green ;-)

Thank you!

Share this post


Link to post
Share on other sites
l.hv.yang    5

I saw that i have some ini-files named like "XXX0000A.INI.xyz". I had to delet them too and run content validation. Now everything is green ;-)

Thank you!

Aquintus, where did you go to find those ini files? \SCCMContentlib\pkglib ??

Share this post


Link to post
Share on other sites
magu01    0

I just used this script to fix WMI and contentlib. But i also hade to clear the value of HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP\RunASAPTasks

 

Before i did this smsdpmon.exe would not run a full Content Validation of all packages, only on the packages in this RegValue.

 

EDIT: RunASAPTasks is a REG_MULTI_SZ so i dont Think you can search for PackagedID to find it.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now