SYSVOL is a folder shared by domain controller to hold its logon scripts, group policies and other items related to AD. All the domain controllers in network will replicate the content of SYSVOL folder. The default path for SYSVOL folder is %SystemRoot%\SYSVOL. This folder path can define when you install the active directory.
Windows Server 2003 and 2003 R2 uses File Replication Service (FRS) to replicate SYSVOL folder content to other domain controllers. But Windows server 2008 and later uses Distributed File System (DFS) for the replication. DFS is more efficient than FRS. Since windows server 2003 is going out of support, most people already done or still looking for migrate in to latest versions. However migrating FSMO roles WILL NOT migrate SYSVOL replication from FRS to DFS. Most of the engineers forget about this step when they migrate from windows 2003 to new versions.
For FRS to DFS migration we uses the Dfsrmig.exe utility. More info about it available on https://technet.microsoft.com/en-au/library/dd641227(v=ws.10).aspx
For the demo I am using windows server 2012 R2 server and I migrated FSMO roles already from a windows server 2003 R2 server.
In order to proceed with the migration forest function level must set to windows server 2008 or later. So if your organization not done this yet first step is to get the forest and domain function level updated.
You can verify if the system uses the FRS using dfsrmig /getglobalstate , To do this
1) Log in to domain controller as Domain admin or Enterprise Admin
2) Launch powershell console and type dfsrmig /getglobalstate. Output explains it’s not initiated DFRS migration yet.
Before move in to the configurations we need to look into stages of the migration.
There are four stable states going along with the four migration phases.
1) State 0 – Start
2) State 1 – Prepared
3) State 2 – Redirected
4) State 3 – Eliminated
State 0 – Start
With initiating this state, FRS will replicate SYSVOL folder among the domain controllers. It is important to have up to date copy of SYSVOL before begins the migration process to avoid any conflicts.
State 1 – Prepared
In this state while FRS continues replicating SYSVOL folder, DFSR will replicate a copy of SYSVOL folder. It will be located in %SystemRoot%\SYSVOL_DFRS by default. But this SYSVOL will not response for any other domain controller service requests.
State 2 – Redirected
In this state the DFSR copy of SYSVOL starts to response for SYSVOL service requests. FRS will continue the replication of its own SYSVOL copy but will not involve with production SYSVOL replication.
State 3 – Eliminated
In this state, DFS Replication will continue its replication and servicing SYSVOL requests. Windows will delete original SYSVOL folder users by FRS replication and stop the FRS replication.
In order to migrate from FRS to DFSR its must to go from State 1 to State 3.
Let’s look in to the migration steps.
Prepared State
1. Log in to domain controller as Domain admin or Enterprise Admin
2. Launch powershell console
3. Type dfsrmig /setglobalstate 1 and press enter
4. Type dfsrmig /getmigrationstate to confirm all domain controllers have reached prepared state
Redirected State
1. Log in to domain controller as Domain admin or Enterprise Admin
2. Launch powershell console
3. Type dfsrmig /setglobalstate 2 and press enter
4. Type dfsrmig /getmigrationstate to confirm all domain controllers have reached redirected state
Eliminated State
1. Log in to domain controller as Domain admin or Enterprise Admin
2. Launch powershell console
3. Type dfsrmig /setglobalstate 3 and press enter
4. Type dfsrmig /getmigrationstate to confirm all domain controllers have reached eliminated state
This completes the migration process and to confirm the SYSVOL share, type net share command and enter.
Also make sure in each domain controller FRS service is stopped and disabled.
If you have any question regarding the post feel free to email me at rebeladm@live.com
Thank you!
hello, how to roll back if an issue occur?
Regards
you can go back to state 0 but not once you processed state 3
Thanks a lot… very nice article. I implemented this in my org refering to your article.
Very Good!!!
Thanks!!!
Thank of for the wonderful instructions.
Imran
Muchas gracias…
Thank you, easy to follow article!
Thanks a lot for the detailed procedure.
I'm right in exact case migrating W2003 R2 to W2012 R2. The W2012 R2 server is joined to W2003 R2 DC, and promo to a DC. Five FSMO roles are transferred to W2012 R2 server as well.
As described the forest function level must set to windows server 2008 or later prior to proceed with the migration. My question is how could I raise the forest function level to 2008 while the W2003 R2 is still a DC in the forest? If I demote the old 2003 DC, SYSVOL will be gone too isn't it?
Many thanks 🙂
How many DC do you have in your Org. If the 2003 is the only DC please don’t demote it yet. Go to AD and right click on your domain name and select Raise Domain Functional level then drop down the arrow and select the highest level
Excellent, clean instructions. Thanks!
Thanks for the documentation.
Just need one more clarification that we are going to promote from server 2012 to server 2016( schema updation and O/S updation) however we are using our domain and forest functional level as Window server 2003. We are updating to server 2008 as domain and forest level, before that do we need to update SYSVOL Replication to DFSR as mentioned in this article or once we will update to server 2016 it will also update.
Good Explanation !
Thank you, Dishan, very helpful guide!
Thank you, very clear instructions and worked exactly as advertised.
Is it recommended to perform this procedure after hours? Does this procedure cause down time at any point? Thanks.
No this is will not required any downtime. FRS will be in operation until DFSR replication is completes accord the domain controllers.
What a great explanation. Solved my issue with sysvol replication. I had two DCs – W2012R2 and 2008R2, each in different site. Forest and domain functional level was 2003R2. I raised both to 2008 and did your steps. Works perfectly so far.
Thanks!
First Class Step by Step Explanation.
Thank you. 🙂
Very well done. Step-by-step couldn't have been easier to follow. Worked perfectly.
So how can you raise the domain and forest level to 2008 or later when 2003 DC is still in the forest? In my case I just added a 2016 DC to a 2003 domain. How can I transfer the sysvol and netlogon from 2003 to 2016?
Excellent !!!!!!!
Thankksss so much
Thanks alot, works like charm!
Is there a downtime while migrating?
No it is not. It is 3 stage migration so when DFS copy is ready it will switch over the method.
Thank you! Saved my day!
Very Easy. Thank you!
Excellent article, we have Windows 2012 R2 Dcs and Windows 2008 R2 DCs.
I do not see the SSYSVOL_DFSR folder. Does this mean that we are still using FSR replication for SYSVOL?
I noticed that that dfsrmig /getmigrationstate list as
Current DFSR global state: ‘start’
Succeeded.
We have Windows 2008 R2 DCs and do not see SYSVOL_DFS folder,
Does this mean that it is still is using FRS?
I guess we run the above setting at PDC emulator.
Are we allowed to run DFSRMIG /getglobalstate on all DCs?
Are we allowed to run DFSMIG /getmigrationstate on akk DCS?
appreciated , thank you .
I have never in my life wanted to comment on an article, but this is beautifully written. Thank you!
Thank you for every effort to guide us. This has really been of help. I am grateful.
Thank you!!!
Excellent article.
Great guide. I am going to migrate SYSVOL 2008r2 to DFS. I have only one DC and I need to upgrade SYSVOL before I move DC to a new 2019 Server.
“Also make sure in each domain controller FRS service is stopped and disabled.”
Do you then mean I must disable it on 2008r2 DC before I migrate?
Wow Awesome article. Helped me out of a jam today!!
I wish all step by step guides where this clear and concise.
Thank you.
Thank you so much. It’s very helpful.
I ran into this problem where we had two DCs, upgraded in-place for both of them to 2019, detested the idea of reintroducing a 2016 box into the mix and demoting then re-promoting. So here is the ultimately workaround to that! Copy DFSRS.exe from a windows 2016 box to your windows 2019 boxes, take ownership and permission of the 2019 dfsrs.exe file in system32, stop the dfs service, temporarily rename the dfsrs.exe in system32 to .old, copy the 2016 version in there and start the service again. Do this on both servers…no other dlls or dependencies are necessary. Run through all the setglobalstate commands and watch till it is done. Then swap the dfsrs.exe back to the 2019 and call it gooooooood!!!!
Thank you so much! Very nice and easy to follow instructions. Everything went very smoothly.
Champion!! Very easy to follow, was left very confused after reading MS articles!!
Thank you for this. Do you think this could cause any problems if I perform these dfsrmig steps in a single-label Active Directory domain? For example our domain name is “Contoso” and not “Contoso.local” or “Contoso.com” or something like that. Thank you!
It is not a issue, you can use it with single-label.
Thank you so much for your extremely useful and practical website. It worked like a charm.
Clear, concise and accurate thank you so much have used this guide a few times now
like every other comments, this was a highly detailed step by step that makes the process so easy. Microsoft should hire you to document all their articles instead! kudis
Thanks, very helpful.
Thank you!
Thank you
Thanks for that, very well explained, used to migrate four corp servers.
Thank you!
Great and verry easy and well explaned.
Thank you!
Great article thanks so much.
Question does this need to be done on each Domain controller in the environment? or Just the PDC.
Thanks again
Thank you, clear and straight forward.
Keep it up
Thank you so much for sharing this information my sysvol replication was extremely broken and by migrating it is not anymore
We have 2 domains. Root and child domain. Replication is set between the domains.
Can we upgrade to dfsr to root domain first and then child domain. Or it has to be done simultaneously.. If yes, what will be the Steps.
Good instructions & it worked perfectly.
Thank you very much.
Thank you!
Our organization had a tombstoned server preventing the promotion of new Server 2016/2019 Domain Controllers. I forcefully removed the tombstoned DC and performed your process, checked the forest using the AD Replication Status Tool by Microsft, and performed your steps successfully.
Cheers!
Great!! Impossible do better and simplest!
Thanks! Clear and concise directions.
Many thanks. Clear and easy to understand. Much appreciated.
Great clear and accurate article. Encountered no issues. Thank you.
DFSR populated across all my DC’s.
Just another thank you! Instructions still work fine here in July of 2022 on Server 2016 DC’s with 2016 domain level.
Thanks so much!
Great article, simplified something that appears on the outset as quite a scary thing to do. Finally lifted my domain out of the dark ages, thank you!
Thank you so much! Your instructions really helped me!