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):


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 (26)

  1. Hey no problem Eswar – thanks for reading :).


  2. Sorry James – As it is not explicitly stated as so in the product documentation, I assume the answer is no.

  3. EricBelgacom says:


    Same issue here :


    I tried to use this tool on my Primary site (this article said it work also on Pri Site, not only on DP…/ad561c9f-fa31-4ef8-8f24-ed1c8158f451

    .actually sccmcontlib,smspkg and smspkgsig folders are located on D: drive , I want to move them on H: drive.

    Using "ContentLibraryTransfer.exe -SourceDrive D -TargetDrive H" give me errors:

    Invalid number of arguments specified


    One or more arguments are not correct.

    Any ideas of what I am missing here ?

  4. EricBelgacom says:

    Finally succeeded to run It!

    be sure to use the command line  "ContentLibraryTransfer.exe -SourceDrive D -TargetDrive H" with the .EXE and not "ContentLibraryTransfer -SourceDrive D -TargetDrive H"

  5. Eswar koneti says:

    Hi Neil,

    Thanks for the Micro Deep Posts and many to see in the coming days.

  6. Preston Gallwas says:

    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 🙂

  7. James Welker says:

    Since DP's are explicitly mentioned, is there any reason this cannot be used to move the CAS contentlib to another drive, also?

  8. Ben Arnold says:

    Can you move contentlib folders from multiple drives on a DP to one single new drive, effectively consolidating them?

  9. Jon Schlatter says:

    Not sure what I am missing, but I am getting an odd error when running this command on my SCCM servers. The target drive has no other content and is setup as a basic MBR partition.

    My command:

    ContentLibraryTransfer -SourceDrive C – TargetDrive E


    CLT:05/09/2013 17:04:07 Read Input Arguments

    CLT:05/09/2013 17:04:07 Invalid number of arguments specified

    CLT:05/09/2013 17:04:07 One or more arguments are not correct. Please see usage below for details.

    Any idea what I can do?

  10. Dejan Milic says:

    I would say you have a blank (empty space) between "-" and "TargetDrive" 🙂

  11. Thanks for the post. Help me a lot!!

  12. I did tests with the packages validation and copy of new packages sucessfully.

  13. RWest says:

    Is it possible, to use the command to move it to another server?  Or would it be better to create a new DP, distribute to the new DP, and then remove from the old locaiton?  I have a single server SCCM configuration and both C: and D: are nearly full with ContentLib folders on both drives.

  14. Raymond Andreassen says:

    Having 2 servers. Server1 ContentLibraryTransfer works just fine, on Server2 I am having trouble. Server2 is a functioning DP, without no remarks in any logs. Any ideas?

    Reading Host Configuration : Read configuration on host

    Unable to verify configuration. This tool can only be run on either Distribution Points or SiteServer machines

  15. Pranay Bhagat (MCP,MCTS,MCITP) says:

    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.

  16. justin says:

    Thanks for the post it was very helpful.

  17. Louise says:

    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 ":".

  18. Louise says:

    The version I was using was for SCCM 2012 Sp1. There is a newer version out for SCCM 2012 R2 which hopefully is ok.

  19. kellyd says:

    Can this tool be run on the Primary Site Server? If so, what services need to be offline?

  20. Anonymous says:

    ~ Bindusar Kushwaha Hi everyone, here in product support we regularly see issues relating to how the

  21. andres says:

    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!

  22. Thanks allot for the help

  23. Eric says:

    Where can I find this wonderful tool? there is no download link anywhere…

  24. Bikash Biswal says:

    Thanks a lot I was struggling for this issue now it got solved.

  25. Mayank says:

    i used the tool and got this error.
    One or more directories required for this transfer has a
    n invalid length. Caught Access to the path ‘C:SCCMContentLibDataLibXXX00002.
    2.52ce6062′ is denied.

    i am unable to use the tool .can you guys help?

  26. John says:

    Does this work only from server to server or can I use a USB HD as an intermediate device?