MSEndpointMgr

How to use ContentLibraryTransfer.exe in ConfigMgr 2012 R2

Ever since I’ve started my new job as an Senior Consultant in Enterprise Client Management, I’ve been working with ConfigMgr every day. In the project I’m currently working with, we had to move the ContentLibrary on a Distribution Point to another volume because the current one was almost full. We had just recently upgraded the whole hierarchy to ConfigMgr 2012 R2, so I installed the ConfigMgr 2012 R2 Toolkit to get my hands on ContentLibraryTransfer.exe. This is an excellent tool for this kind of scenario. My co-worker blogged a few weeks ago about how you can merge two ContentLibraries that resides on different volumes by using this tool, check out the post here.
I’m aware of that there are many great blog posts written in regards to this tool, but I wanted to share my experiences on how I used the tool to successfully transfer the ContentLibrary between two volumes on a Distribution Point site system server in a production environment servicing about 4500 devices.
It’s recommended that you use the ContentLibraryTransfer.exe tool on a Distribution Point that is offline. in this post I’ll take you through the steps necessary to take the Distribution Point offline and then run the tool to transfer the ContentLibrary.

Overview

  • Verify that there’s no content distribution in progress
  • Temporary disable new content to be distributed to the DP
  • Transfer the ContentLibrary

Verify that there’s no content distribution in progress

If you have a hierarchy with a CAS, log on to that and open the ConfigMgr console. If you’re running a stand-alone Primary Site server, log on to that instead and open the ConfigMgr console.
1. Go to Monitoring node.
2. Expand Reporting, Reports and then scroll down to Software Distribution – Content.
3. Locate the report called All active content distributions.
85_1
4. Right-click on the report and select Run.
5. All active content distributions will now be shown (if any are currently being installed or removed). If there are any active content distributions in progress on the Distribution Point that we’re going to transfer the ContentLibrary on, let them finish before you continue. If you don’t let the content distributions finish, you may end up with inconsistency in the ContentLibrary. As you can see on the picture below, in my lab environment there’s currently no content distributions in progress, and therefor we’re good to go.
85_2

Temporary disable new content to be distributed to the DP

Depending on how your environment is configured with Distribution Points and Distribution Point groups, if the Distribution Point in question is added to a single or multiple Distribution Point Groups, remove it from all groups. This is to prevent any new content being distributed to the Distribution Point. You should of course plan this ahead so that it doesn’t impact any production systems that may need to access the Distribution Point during business hours. Once you’re done with transferring the ContentLibrary, you should restore the Distribution Point group membership. When you remove a Distribution Point from a group, the content is not deleted on the Distribution Point.
In addition to preventing new content to be distributed, we should also prevent clients from being able to download content from the Distribution Point. This can easily be done by disabling the following inbound Windows Firewall rule on the site system server where the Distribution Point is installed:

  • World Wide Web Services (HTTP Traffic-In)

Transfer the ContentLibrary

Now that we’ve prepared for the Distribution Point’s ContentLibrary to be transfered, copy the ContentLibraryTransfer.exe from the ConfigMgr 2012 R2 Toolkit installation location to the server where the Distribution Point is located. I’ve choosen to copy it to C:\Tools. In this re-created scenario in my lab environment, I want to transfer the ContentLibrary from the D: volume to a newly created volume with the drive letter F: as shown in the picture below.
85_3
1. Open an elevated command prompt and browse to C:\Tools (or the location where you placed the tool).
2. Run the following command:

ContentLibraryTransfer.exe -SourceDrive D -TargetDrive F

85_4
If you’d want to save the output to a log file instead, amend the above command and run the following instead:

ContentLibraryTransfer.exe -SourceDrive D -TargetDrive F >> C:\Tools\ContentLibraryTransfer.log

The tool will now begin work its magic. Depending on the amount of content the time to transfer everything will vary, and of course the underlying hardware plays a factor too. During this process, there will be a lot of output in the command prompt showing what the tool is actually doing, see picture below.
85_5
Once the transfer is complete, you’ll see the following:
85_6
We can now restore the Distribution Point group membership and re-enable the disabled Windows Firewall rules. When all that has been done, the Distribution Point is back online with the ContentLibrary transfered to a new volume.

Nickolaj Andersen

Chief Technical Architect and Enterprise Mobility MVP since 2016. Nickolaj has been in the IT industry for the past 10 years specializing in Enterprise Mobility and Security, Windows devices and deployments including automation. Awarded as PowerShell Hero in 2015 by the community for his script and tools contributions. Creator of ConfigMgr Prerequisites Tool, ConfigMgr OSD FrontEnd, ConfigMgr WebService to name a few. Frequent speaker at conferences such as Microsoft Ignite, NIC Conference and IT/Dev Connections including nordic user groups.

4 comments

  • Edgar, I run it on a DP running on server 2012 R2 and keep getting the same error, I do not have a 2K8r2 to test on.
    I found out that removing the DP role completely and and then recreating it on the drives I wanted worked much better and did not cuase any break ups.

  • I’m trying to move my SCCMcontentlib folder from C: to E: and it looks like everything copies over but the process wont finish successfully. The program hangs at “Updating WMI”. Unhandled Exception: System.ManagementException: Provider load Failure
    Any Ideas?

  • Thank you for all the time and dedication you give to your blog and (in turn) the community! Can the above method be used to copy or recover the ContentLibrary?
    In a DR situation and in order to avoid redistributing all applications over the WAN (in our environment all DPs have all apps), can the ContentLibrary be copied to replacement HDDs in a spare DP and then shipped to a remote DP (different hardware)? I would assume validation would be required. Are there any unique identifiers within the ContentLibrary which would prevent the CL (or drives) from being moved around like that?
    Thank you

Sponsors