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.

(1810)

Nickolaj Andersen

Principal Consultant 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. Currently working for TrueSec as a Principal Consultant. 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 and user groups.

comments
  • William
    Posted at 18:08 May 1, 2015
    William
    Reply
    Author

    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

  • Nathan
    Posted at 15:06 July 2, 2015
    Nathan
    Reply
    Author

    Is there a way of moving the library to a new server and not just a new drive?

  • Edgar Izaguirre
    Posted at 16:34 September 17, 2015
    Edgar Izaguirre
    Reply
    Author

    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?

  • Adam
    Posted at 19:21 October 13, 2015
    Adam
    Reply
    Author

    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.

  • Leave a Reply