Configuration Manager 2012 SP1 – Move a Distribution Point Content Library Between Drives

Here we are, week two of the New Year, and the goodies just keep coming. In case you missed it the Configuration Manager 2012 SP1 Toolkit has been released and with it brings a whole batch of goodness. Some of the tools included are the usual suspects (PolicySpy.exe, runmetersumm.exe, etc.) and then there are a few new ones. In this quick micro-deep dive I will be looking at one of these new tools – ContentLibraryTransfer.exe.

What is ContentLibraryTransfer.exe:

Quite simply, ContentLibraryTransfer.exe is a tool that will move a distribution point’s content store from one drive to another. That is it, and it is a very simple process.

The syntax used with the tool is – ContentLibraryTransfer.exe –SourceDrive <Current Drive Letter> -TargetDrive <New Drive Letter>

While I found no log file at execution time, piping the execution output to a text file appears to provide a good log of execution activities.

 I will include not include here the full results log; however here is a partial look into the beginning of the content transfer process. I've highlighted a few of the more interesting lines.

 

CLT:01/05/2013 17:20:21 ***************************************************************************************************

CLT:01/05/2013 17:20:21 Content Library Transfer                                                                          

CLT:01/05/2013 17:20:21 ***************************************************************************************************

CLT:01/05/2013 17:20:21 !!Warning!!                                                                                       

CLT:01/05/2013 17:20:21                                                                                                   

CLT:01/05/2013 17:20:21 Run this tool when the server hosting the content library is offline. If you run this tool when   

CLT:01/05/2013 17:20:21 data is being written to or removed from the content library, you may introduce errors.           

CLT:01/05/2013 17:20:21 ***************************************************************************************************

CLT:01/05/2013 17:20:21                                                                                                    

CLT:01/05/2013 17:20:21 Verify Credentials: Check if running as Administrator.                                            

CLT:01/05/2013 17:20:21 Verify Credentials: Completed Successfully                                                        

CLT:01/05/2013 17:20:21 Verify Other Instances: Check if another instance is running                                      

CLT:01/05/2013 17:20:21 Verify Other Instances: Completed Successfully                                                    

CLT:01/05/2013 17:20:21 Create Orchestrator                                                                               

CLT:01/05/2013 17:20:21 Read Input Arguments                                                                               

CLT:01/05/2013 17:20:21 CurrDir F NewDir C                                                                                

CLT:01/05/2013 17:20:21 Read Input Arguments: Completed Successfully                                                      

CLT:01/05/2013 17:20:21 Validating Input Arguments                                                                        

CLT:01/05/2013 17:20:21 Validating Input Arguments : Completed Successfully                                               

CLT:01/05/2013 17:20:21 Reading Host Configuration : Read configuration on host                                           

CLT:01/05/2013 17:20:21                                                                                                    

CLT:01/05/2013 17:20:21 Loaded Configuration                                                                              

CLT:01/05/2013 17:20:21 Folder Source:                                                                                     

CLT:01/05/2013 17:20:21 F:\SMSSIG$                                                                                        

CLT:01/05/2013 17:20:21 F:\SMSPKGF$                                                                                        

CLT:01/05/2013 17:20:21 F:\SCCMContentLib                                                                                 

CLT:01/05/2013 17:20:21                                                                                                    

CLT:01/05/2013 17:20:21 Folder Destination:                                                                               

CLT:01/05/2013 17:20:21 C:\SMSSIG$                                                                                         

CLT:01/05/2013 17:20:21 C:\SMSPKGC$                                                                                       

CLT:01/05/2013 17:20:21 C:\SCCMContentLib                                                                                 

CLT:01/05/2013 17:20:21                                                                                                   

CLT:01/05/2013 17:20:21 Share Source:                                                                                     

CLT:01/05/2013 17:20:21 SMSSIG$,F:\SMSSIG$                                                                                

CLT:01/05/2013 17:20:21 SMSPKGF$,F:\SMSPKGF$                                                                              

CLT:01/05/2013 17:20:21 SCCMContentLib$,F:\SCCMContentLib                                                                 

CLT:01/05/2013 17:20:21                                                                                                    

Share Destination:CLT:01/05/2013 17:20:21 SMSSIG$,C:\SMSSIG$                                                                                

CLT:01/05/2013 17:20:21 SMSPKGC$,C:\SMSPKGC$                                                                              

CLT:01/05/2013 17:20:21 SCCMContentLib$,C:\SCCMContentLib                                                                 

CLT:01/05/2013 17:20:21                                                                                                   

CLT:01/05/2013 17:20:21 Restart Service:                                                                                  

CLT:01/05/2013 17:20:21 winmgmt                                                                                           

CLT:01/05/2013 17:20:21                                                                                                   

CLT:01/05/2013 17:20:21 Stop Service:                                                                                      

CLT:01/05/2013 17:20:21 winmgmt                                                                                           

CLT:01/05/2013 17:20:21                                                                                                    

CLT:01/05/2013 17:20:21 Source Drive:F                                                                                    

CLT:01/05/2013 17:20:21 Target Drive: C                                                                                    

CLT:01/05/2013 17:20:21 Host Type:DP                                                                                      

CLT:01/05/2013 17:20:21                                                                                                    

CLT:01/05/2013 17:20:21 End of Configuration                                                                              

CLT:01/05/2013 17:20:21                                                                                                    

CLT:01/05/2013 17:20:21 Reading Host Configuration: Completed Successfully                                                

CLT:01/05/2013 17:20:21 Verify Drives: Validating drives specified for the transfer exist                                 

CLT:01/05/2013 17:20:21 Verify Drives: Completed Successfully                                                             

CLT:01/05/2013 17:20:21 Verify Destination: Check if target drive has enough space for the transfer                       

CLT:01/05/2013 17:20:21 Verify Destination: Completed Successfully                                                        

CLT:01/05/2013 17:20:21 Executing Transfer: Begin Content Library Transfer                                                 

CLT:01/05/2013 17:20:21 Mark Source: Mark source drive for Do Not Use                                                     

CLT:01/05/2013 17:20:21 Dropping No SMS .                                                                                 

CLT:01/05/2013 17:20:21 Successfully created NO_SMS file!                                                                 

CLT:01/05/2013 17:20:21 Mark Source: Completed                                                                            

CLT:01/05/2013 17:20:21 Copy Content                                                                                      

CLT:01/05/2013 17:20:21 Copying Folder F:\SMSSIG$                                                                         

CLT:01/05/2013 17:20:21 Moving F:\SMSSIG$ to C:\SMSSIG$                                                                   

CLT:01/05/2013 17:20:21 Creating directory C:\SMSSIG$                                                                     

CLT:01/05/2013 17:20:21 Copying file F:\SMSSIG$\0969e642-95e9-46cc-a1a2-8860d7e32706.tar to C:\SMSSIG$\0969e642-95e9-46cc-a1a2-8860d7e32706.tar

CLT:01/05/2013 17:20:21 Copying file F:\SMSSIG$\a53e1c26-a1d6-43fa-a7fc-3b01edfd607a.tar to C:\SMSSIG$\a53e1c26-a1d6-43fa-a7fc-3b01edfd607a.tar

CLT:01/05/2013 17:20:21 Copying file F:\SMSSIG$\SP100004.1.tar to C:\SMSSIG$\SP100004.1.tar                               

CLT:01/05/2013 17:20:21 Copying file F:\SMSSIG$\SP100005.1.tar to C:\SMSSIG$\SP100005.1.tar                               

CLT:01/05/2013 17:20:21 Copying Folder F:\SMSPKGF$                                                                        

CLT:01/05/2013 17:20:21 Moving F:\SMSPKGF$ to C:\SMSPKGC$                                                                 

CLT:01/05/2013 17:20:21 Creating directory C:\SMSPKGC$                                                                    

CLT:01/05/2013 17:20:21 Copying Folder F:\SCCMContentLib                                                                  

CLT:01/05/2013 17:20:21 Moving F:\SCCMContentLib to C:\SCCMContentLib

For Reference here is a screen shot of the source drive prior to running the ContentLibraryTransfer.exe process.

Also we can observe the current Content Library path at the following registry Key – HKLM\SOFTWARE\Microsoft\SMS\DP\ContentLibraryPath:

Once ContentLibraryTransfer.exe had completed, several items observed in the log can also be manually observed on the DP host system.

A NO_SMS_ON_DRIVE.SMS file has been created on the Source Drive.

 

And the complete content library has been moved, in this case from the C drive to F. NOTE: The Distribution Point Site System Role installation folder (SMS_DP$) remains where it was initially placed. This can be observed in the previous screen shot.    

Finally we can see there that the library path has been changed in the computers registry.

Other Observations:

The ContentLibraryTransfer.exe respects NO_SMS_ON_DRIVE.SMS files. In other words if the drive specified as the TargetDrive contains a NO_SMS_ON_DRIVE.SMS the ContentLibraryTransfer.exe will not copy the content library to this drive.

Output Block from ContentLibraryTransfer.exe (Click Image for a better view):

Conclusion:

The ability to move content from one drive to another has been a long requested SMS / Configuration Manager feature. Hats off to the Configuration Manager team for providing this simple yet effective tool.

Comments

  • Anonymous
    January 01, 2003
    Hey no problem Eswar - thanks for reading :). neilp

  • Anonymous
    January 01, 2003
    Sorry James - As it is not explicitly stated as so in the product documentation, I assume the answer is no.

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 01, 2003
    The comment has been removed

  • Anonymous
    January 08, 2013
    Hi Neil, Thanks for the Micro Deep Posts and many to see in the coming days. www.eskonr.com

  • Anonymous
    January 25, 2013
    Thanks for this - I didn't realize the content store would be stored on the primary site server for a standalone primary site when I installed, so I was a bit hooped when I started migrating and our drive filled :-)

  • Anonymous
    February 01, 2013
    The comment has been removed

  • Anonymous
    April 22, 2013
    The comment has been removed

  • Anonymous
    May 09, 2013
    The comment has been removed

  • Anonymous
    May 13, 2013
    I would say you have a blank (empty space) between "-" and "TargetDrive" :)

  • Anonymous
    May 16, 2013
    Thanks for the post. Help me a lot!!

  • Anonymous
    May 16, 2013
    I did tests with the packages validation and copy of new packages sucessfully.

  • Anonymous
    June 26, 2013
    The comment has been removed

  • Anonymous
    July 15, 2013
    The comment has been removed

  • Anonymous
    November 29, 2013
    Hi Neil, Nice post, But i would like to add one more thing here, As SCCM uses NTFS Drive the tool does not checks for drive file system & directly transfers the SCCM Contents to an REFS drive.

  • Anonymous
    January 16, 2014
    Thanks for the post it was very helpful.

  • Anonymous
    May 26, 2014
    Be wary using this tool. I was told by Microsoft not to use ContentLibraryTransfer.exe. I tried it and everything moved ok but I had issues with package distribution after. Apparently it updated entries in the WMI database and changed the drive letter for the new location of the package root directory to ":" instead of ":".

  • Anonymous
    May 26, 2014
    The version I was using was for SCCM 2012 Sp1. There is a newer version out for SCCM 2012 R2 which hopefully is ok.

  • Anonymous
    May 27, 2014
    Can this tool be run on the Primary Site Server? If so, what services need to be offline?

  • Anonymous
    June 09, 2014
    ~ Bindusar Kushwaha Hi everyone, here in product support we regularly see issues relating to how the

  • Anonymous
    December 22, 2014
    Be careful when you have packages with large folder structure. I got error: "WARN: Check E:SCCMContentLib for content errors. Caught The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters." and the coping stopped. When this failed, tool went to delete folders in C: drive. Always have a backup!

  • Anonymous
    July 08, 2015
    Thanks allot for the help

  • Anonymous
    July 30, 2015
    Where can I find this wonderful tool? there is no download link anywhere...

  • Anonymous
    October 26, 2015
    Thanks a lot I was struggling for this issue now it got solved.

  • Anonymous
    January 19, 2016
    The comment has been removed

  • Anonymous
    March 28, 2016
    Does this work only from server to server or can I use a USB HD as an intermediate device?