Finding FSMO Roles in Active Directory using NTDSUtil

Need help in Finding FSMO Roles in Active Directory using NTDSUtil? Read on.

First things first: FSMO means Flexible Single Master Operation and it is used within Active Directory to control, monitor and manage configuration updates. Without going in to more details about how FSMO works, let’s move on to understanding the Five (5) FSMO roles:

Schema Master: It controls all the updates and modifications that relate to schema of the Active Directory. It is the duty of the Schema Master to ensure that the latest schema has been replicated across all Domain Controllers in the directory. The role is forest-wide and there can be only one Schema Master in a forest.

Domain Naming Master: It controls the addition and deletion of domains in the forest. The role is once again forest-wide and there can be only one Domain Naming Master in a forest.

RID Master: Stands for Relative ID and is responsible for processing RID requests from all Domain Controllers in a particular domain. For example, if we create a user in Active Directory, a unique Security Identifier (SID) is created which identifies it in the domain. Along with this SID a Relative ID (RID) that is unique to the SID is also generated from a pool that is allocated. The main role of RID Master is to ensure that each DC has got enough RID pool and if not then process the request for the pool from the unallocated RID pool. The role is Domain specific and there can be only one Domain Controller handling this role.

Infrastructure Master: When an object in one domain is referenced by another object in another domain, it represents the reference by the GUID, the SID (for references to security principals), and the DN of the object being referenced. The infrastructure FSMO role holder is the DC responsible for updating an object’s SID and distinguished name in a cross-domain object reference. The role is Domain specific and there can be only one Domain Controller handling this role.

PDC Emulator: It seems to be a backward compatible role that has been handed over as a legacy from Windows NT 4.0 and is mainly used for syncing time in the Enterprise. The W32Time service that we see in the Services MMC has a very important role to play: synchronize time across the enterprise to that Kerberos Authentication works smoothly. After all, password changes, authentication, account lockout, etc. all depends on this. The role is Domain specific and there can be only one Domain Controller handling this role.

So why does an administrator need to know which Domain Controller is holding which role? Well, normally there is always a single machine that carries all the five FSMO roles, but there can be scenarios where an administrator would have moved one or more FSMO roles. To know why, read this KB article from Microsoft. With a better understanding of which server holds which role, the administrator can plan better for disaster recovery or scheduled maintenance. There are many ways to find out which DC holds which role, but here is one that uses NTDSUtil – a command line tool.

A word of caution before we proceed: If you do not know what you are doing and have no idea about how Active Directory works or even worse – what Active Directory is – please refrain from doing this practically. Doing this incorrectly or messing with this command can cause your Active Directory to crash and lose functionality.

Step #1: On any Domain Controller, click Start. In the Run command type CMD and hit Enter. You will be taken to the good old command prompt window (DOS were the days). Type ntdsutil and hit Enter.

Step #2: You shall see the screen with ntdsutil: prompt. Since we want to find out the roles, type roles and hit Enter. Notice that the prompt now changes to show fsmo maintenance:. Now is a good time to get more HELP on the list of available commands.

Step #3: On the fsmo maintenance: prompt, type ? and hit Enter. Right-click in the Window, mark and copy them. Paste the clipboard in to Notepad for easy reference.

Step #4: Type connection and press Enter. This will show a prompt with server connections:. Type connect to server <servername> (replace <servername with actual name> and press Enter.

Step #5: Once we are connected to the Domain Controller, type q to return back to the fsmo maintenance prompt. Now type, select operation target and then press Enter. Notice that the prompt changes to select operation target:.

Step #6: At the select operation target prompt, type list roles for connected server and press Enter. This would list all the FSMO roles for that Domain Controller. To get out of the ntdsutil, type q until you are back to the good old DOS prompt.

For those who are looking at ready solution rather than going through this process, check out DUMPFSMOS.CMD in the Resource Kit (Windows 2000/2003). This tool is a one-click utility that does the same trick.

11 comments
  1. You are so interesting! I don’t think I have read a single thing like that before. So nice to find someone with a few genuine thoughts on this subject. Really.. thank you for starting this up. This site is something that is needed on the web, someone with a little originality!

  2. Magnificent website. Plenty of useful info here. I am sending it to several pals and additionally sharing in delicious.
    And of course, thanks for your effort!

  3. Hi Vishal,

    I want to know, the old M drive has been still working in exchange 2007 or it has been removed.

    1. Hi,

      The M: drive concept has been taken out since Exchange 2003. However, you can still use the file system to connect to the Exchange store. Microsoft have removed the M: drive mapping is because the mailbox store used to get corrupt during virus scan or while backups.

  4. Hi Vishal,

    Thanks for the FSMO roles,

    i want to ask you one question what is BIND and it is used in Windows server ??

    1. BIND is by far the most widely used DNS software on the Internet. It is an open source software that implements the Domain Name System (DNS) protocols for the Internet. It is a reference implementation of those protocols, but it is also production-grade software, suitable for use in high-volume and high-reliability applications.

      Windows Server DNS is capable of interoperating with various versions of BIND. If you do not have many DNS entries or are not planning to use the DNS service as an ISP, you can pretty well use the in-built Windows DNS Server. Both Windows DNS and BIND support dynamic updates which is important if you are planning for Active Directory as it creates lot of SRV records when you setup AD.

    1. Hi vishal

      I want to know how to schema roles in active directory whether they are working fine or not?

      How to check when they are in running?

      1. Hi Kiran,

        DCDIAG is your best choice when it comes to finding the health of your Active Directory. Run the following command from your Command Prompt:

        dcdiag /v /f:dcdiaglog.txt

        This will run the diagnosis with Verbose mode and export the diagnosis to a text file which you can open with notepad or word for detailed analysis.

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.

You May Also Like