Active Directory Domain Controllers need to replicate data & files with each other – NETLOGON share, GPO’s settings, etc… Traditionally, server used File Replication Service (FRS) to perform this task. FRS however is old, limited in its functionality, and as such, no longer supported beyond Windows Server 2016. Microsoft has replaced FRS with Distribution File System Replication (DFSR or DFSr) so in this guide, we’ll cover the steps to identify which service is in use (FRS or DFSR) and how to migrate from FRS to DFSR.
As DFSR was introduced with most of its functionality in Windows Server 2008 R2, AD environments with Windows Server 2008 (non-R2) and older do not support being migrated to DFSR and cannot exist as domain controllers where DFSR is in use between other domain controllers. In such instances, the best practice method is to deploy a middle-ground domain controller running Windows Server 2016, migrate all FSMO roles, decommission the old domain controller(s), then from there migrate from FRS to DFSR, then deploy the new actual domain controller(s) as per the project scope.
Checking for FRS vs DFSR:
On the domain controller, launch an elevated command prompt and issue the command:
dfsrmig /getmigrationstate
If the output migration state is “Eliminated” then FRS is not in use, so no need to follow this guide any further.
If the output migration state is “Start” then FRS is in use and is ready for migrations to DFSR.
Note: the possible outputs are: Start, Prepared, Redirected, and Eliminated.
Upgrade from FRS to DFSR:
There are four key steps to migrate from FRS to DFSR and they’re all performed in an elevated command prompt or elevated powershell session
First step is to change the migration state to 1:
dfsrmig /setglobalstate 1
Once this has been issued, you can then reissue the following to get the state status:
dfsrmig /getmigrationstate
once its completed, you can move on to step 2
Next step is to change the migration state to 2:
dfsrmig /setglobalstate 2
Once this has been issued, you can then reissue the following to get the state status:
dfsrmig /getmigrationstate
once its completed, you can move on to step 3
Next step is to change the migration state to 3:
dfsrmig /setglobalstate 3
Once this has been issued, you can then reissue the following to get the state status:
dfsrmig /getmigrationstate
once its completed, you can move on to step 4
Final step is to change the migration state to 4:
dfsrmig /setglobalstate 4
Once this has been issued, you can then reissue the following to get the state status:
dfsrmig /getmigrationstate
once its completed (Eliminated), migration from FRS to DFSR has been completed.
Checking in Services.msc, FRS service should have already been stopped and DFSR should now be running & set to Automatic Start.