Thursday, June 2, 2016

When to use Prestage content to force a package status

You look in the Monitoring node and notice your package is still pending on the DP

Monitoring Package Status node in The SCCM console

In Progress:

The content for package XXXXXXXXX have not yet arrived from the source site XYZ Distribution Manager will try again later to distribute the content.

Distmgr.log on the Secondary server shows this

No action specified for the package XXXXXXXXX , however there may be package server changes for this package.
All DP threads have completed for package XXXXXXXXX processing thread.
Exiting package processing thread for package XXXXXXXXX .

Looking in the Content Library tool you see the content is still Pending.

What might make you upset is that you can redistribution, remove add, cancel and yet the lower server will not complete the process.  You might be ready to reset the flag in the database but here is another solution to try first: Use the Prestage tool.

There are many blogs about how to use it so I will point here that will step you through how to create the Prestaged Content File.

  1. Create your content file
  2. Copy the file to your lower server
  3. Run the extract command: D:\Program Files\Microsoft Configuration Manager\bin\X64>extractcontent /p:C:\Users\admin\Desktop\Myfile.pkgx /f
Log file - "C:\Temp\2\PrestageContent.log"
Prestaging content to content library D:\SCCMContentLib
        uncompress      25 %
        uncompress      50 %
        uncompress      75 %
        uncompress      100 %
        extract         25 %
        extract         50 %
        extract         75 %
        extract         100 %
Content of package XXXXXXXX.3 is prestaged and registered.

the package and version number should match the SCCM Console

Note: Do not use the /s command, this will ignore the content and that is exactly what you don't want to do. 

You will this in your c:\temp\2\PrestageContent.log
Since content 'XXXXXXXX.3' was skipped, success state message is not sent to server for package 'XXXXXXXX.3'

You will be back at the same problem you had before.

    /F - Force prestaging of content even when it already exists on the site

With this command you will see the 'Extracting' comments in the log.  It should also send a successful command back to the Primary/CAS.  Then you can wait and refresh and see the package marked as Success.

You don't need to change the package or DP to a Prestaged machine.  Simply export the content move and load it.  It is that simple. 

I don't know why it sometimes fails to move the package, yet, you can see all the files and folders correctly in the Content Library.  But this solution does work.