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: Gotham\VPC2003DC1MN Test omitted by user request: Replications Test omitted by user request: Topology Test omitted by user request: CutoffServers Test omitted by user request: NCSecDesc Test omitted by user request: NetLogons Test omitted by user request: Advertising Test omitted by user request: KnowsOfRoleHolders Starting 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.