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.
- 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.
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.
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.
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
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.
Once the transfer is complete, you’ll see the following:
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.
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.