Jump to content


Jerzystransfer

SCCM 2012 R2 Distribution Point Status Warning Messages

Recommended Posts

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

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

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

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

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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...


×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.