The FR process will remove the GC option from each DC and add it back.
When we disable GC we set the Options attribute of the following object to 0:
CN=NTDS Settings,CN=ServerName,CN=Servers,CN=SiteName,CN=Sites,CN=Configuration,DC=Domain,DC=com
When we enable GC we set the Options attribute back to 1. After that, the GC becoming available is dependent on replication and AD. We do run a command, EnsureGcAvailabilityActivity right after EnableGC, however, it just checks for the availability of any GC in the domain.
The FR process does not perform any actions around the promotion of the DC to a GC or verify if the promotion has been completed. It simply removes the GC option and re-adds it to the DC by updating the bit in the Options attribute.
The GC promotion process occurs outside of the restore process. FR does nothing more than if you went into AD Sites and Services and removed the check for Global Catalog under NTDS Settings for each DC and added it back again afterwards. Or modifying the Options attribute manually from ADISEdit. If the GC promotion does not complete after setting the flag, that would need to be investigated from an AD/Replication perspective.
You can confirm if the DC was correctly set by the restore operation to be a GC after the restore completes by viewing the Option attribute of the server object under the NTDS Settings object.
You can also use LDP to view the isGlobalCatalogReady attribute on the RootDSE for the domain controller to confirm it is advertising as a GC:
1. Log on to the DC
2. Open LDP.
3. From the menu, select Connection → Connect.
4. For Server, enter the name of the DC
5. For Port, enter 389.
6. Click OK.
7. The contents of the RootDSE will be shown in the right pane.
8. Look for 'isGlobalCatalogReady: TRUE;'
You can also run the following Powershell command to return all of the DCs in the domain:
Get-ADDomainController -Filter * | select name,IsGlobalCatalog