First looks at Distribution point content migration


Microsoft released another Technical Preview release, this time 2207, and it has a new feature, Distribution point content migration. According to the official blog post this will come in handy when you need to migrate your distribution point content from one dp to another, in particular because of the first 2 points listed below.

There are multiple scenarios where the content of one distribution point needs to be migrated to another distribution point.

  1. Cloud distribution points (CDP) hosted on Azure classic services are getting deprecated by mid of 2024. You need to migrate CDP content to another distribution point.
  2. Migration of cloud migration gateway v1 (CMGv1) hosted with * domain is also getting deprecated, hence you may need to migrate CMGv1 content to another distribution point.
  3. You may need to migrate local distribution point content to other local distribution point or CMG.

As I don’t currently have either (1) or (2) I will test scenario (3) for this blog post.

Step 1. Satisfy the prerequisites

One of the prerequisites is that the user performing the migration has the “Copy to Distribution Point” permission enabled under the Distribution Point permissions. As my user account is a Full Administrator, that requirement is already met.

security role.PNG

The other requirements are listed below.

  • If you want to deprecate the source distribution point, make sure that the source and destination distribution points have the same boundary group.
  • The destination distribution point should be installed already and able to receive the content.

Step 2. Migrate a distribution point using Powershell

As the current solution does not work in the Console, we need to use Powershell to do the migration. On the Configuration Manager server, open a Powershell cmd prompt via the console,

connect via powershell.png

and try the following

Start-CMDistributionPointMigration -SourceDistributionPointName <FQDN for source distribution point> -DestinationDistributionPointName <FQDN for destination distribution point>

for example…

Start-CMDistributionPointMigration -SourceDistributionPointName cm01.windowsnoob.lab.local -DestinationDistributionPointName webserver.windowsnoob.lab.local

as shown here…

powershell connected via configmgr.png

The fact that it didn’t error was a good start.

Step 3. Monitor the migration using Powershell

As the ability to monitor this via the console is not yet available, you’ll need to once again monitor things using Powershell. The command this time is

Get-CMDistributionPointMigrationStatus -SourceDistributionPointName <FQDN for source distribution point> -DestinationDistributionPointName <FQDN for destination distribution point>

Let’s give it a try.

Get-CMDistributionPointMigrationStatus -SourceDistributionPointName cm01.windowsnoob.lab.local -DestinationDistributionPointName webserver.windowsnoob.lab.local

The result should tell you if it’s in progress, completed and so on.

in progress.png


Step 4. Monitor the content being migrated

The docs incorrectly listed the cmdlet as Get-CMDistributionPointContentMigrationStatus but that doesn’t work, see below.


Here is a screenshot of the docs… (as of 2022/07/10), I’ve informed them of the error, so I’m sure it’ll be fixed soon


Using the power of the TAB key, I figured out the correct command and here it is:




I think that the status (4) means that it’s still in progress but I’ve asked the Microsoft Product Group for comment. As you can see below the source DP lists this packageID as a large package so it will take more time to complete.


and sure enough, after more minutes in transit, the status changes from 4 to Success


So there you have it, content migration from one distribution point to another using Powershell built into ConfigMgr works very nicely indeed, is that cool or what ?


For troubleshooting this, look at the distribution migration related logging in smsprov.log, additionally the distribution point migration feature reuses distribute content functionality that updates distmgr.log and PkgXferMgr.log.

Let’s try this out.

In the first screenshot you can see the query I used to check on migration content status on a DP that I haven’t migrated to yet (and the response back).

and in the below screenshot in the smsprov.log we see an error reported (property type conversion error). I’ve asked PG for comment on this.

Note how it states:

ExecMethodAsync: SMS_DistributionPoint::GetDPMigrationContentStatus

and it seems it was related to that fact that i had already migrated this DP’s content previously. To fix I had to issue a stop command like so…

Stop-CMDistributionPointMigration -SourceDistributionPointName cm01.windowsnoob.lab.local -DestinationDistributionPointName webserver.windowsnoob.lab.local

After doing that I could once again test the feature. by starting a migration:

Start-CMDistributionPointMigration -SourceDistributionPointName cm01.windowsnoob.lab.local -DestinationDistributionPointName webserver.windowsnoob.lab.local

this was reflected clearly in the log.


Related reading



This entry was posted in 2207, Distribution point content migration. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.