Q. How can I check the status of the Relative Identifier (RID) pool on a domain controller (DC)?

John Savill

July 21, 2004

2 Min Read
ITPro Today logo in a gray background | ITPro Today

A. Windows gives every DC a pool of RIDs and adds to the pool as necessary in batches of 500. To check the range of RIDs in a current pool, run the command

dcdiag /v /test:ridmanager

where /v specifies verbose mode and /test:ridmanager tells the command to run only the RID Manager test and not the other default tests.

The command displays the next RID that will be allocated to an object created on the DC and the range of currently allocated RIDs, as in the following sample output:

Testing server: GothamVPC2003DC1MNTest omitted by user request: ReplicationsTest omitted by user request: TopologyTest omitted by user request: CutoffServersTest omitted by user request: NCSecDescTest omitted by user request: NetLogonsTest omitted by user request: AdvertisingTest omitted by user request: KnowsOfRoleHoldersStarting test: RidManager    * Available RID Pool for the Domain is 2608 to 1073741823    * omega.savilltech.com is the RID Master    * DsBind with RID Master was successful    * rIDAllocationPool is 2108 to 2607    * rIDPreviousAllocationPool is 2108 to 2607    * rIDNextRID: 2156        ......................... VPC2003DC1MN passed test RidManager

In this example, the range of RIDs that can be allocated is from 2108 to 2607, and the next RID that will be allocated is 2156, which means that the pool contains 451 unallocated RIDs (2607-2156).

Notice that in this sample output, rIDAllocationPool and rIDPreviousAllocationPool are the same. That won't always be the case, however. rIDPreviousAllocationPool is the pool that RIDs are currently being taken from for object SID allocation. When more than a specified percentage of RIDs in this pool have been allocated (50 percent for Windows 2000 Service Pack 4--SP4--and later), the OS asks the DC that holds the RID Flexible Single-Master Operation (FSMO) role for another batch of RIDs to add to rIDAllocationPool. When rIDPreviousAllocationPool is totally depleted, the OS copies the RIDs from rIDAllocationPool into rIDPreviousAllocationPool and starts using the copied RIDs as needed. This process ensures that a temporary interruption in communication with the RID FSMO DC doesn't prevent DCs from creating new objects because their RID pools are exhausted.

About the Author

Sign up for the ITPro Today newsletter
Stay on top of the IT universe with commentary, news analysis, how-to's, and tips delivered to your inbox daily.

You May Also Like