The root cause of this issue depends on the stack trace output found in the Coordinator log. Select the error and then select the Exception tab.
If the stack trace is similar to the following the issue is most likely due to the Computer account not having read rights on the Sites Container in AD (located in the root of the Configuration partition):
System.Runtime.InteropServices.COMException (0x8007200A): The specified directory service attribute or value does not exist.
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Bind()
at System.DirectoryServices.DirectoryEntry.get_AdsObject()
at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne)
at System.DirectoryServices.DirectorySearcher.FindOne()
at System.DirectoryServices.ActiveDirectory.ActiveDirectorySite.FindByName(DirectoryContext context, String siteName)
By default, Authenticated Users have Read rights to the Sites container. Investigate the permissions on the Sites container, or from Sites and Services. The following command can be run to natively try to query for the AD site:
- Open an elevated command prompt on the Coordinator server
- Run the following command: psexec -i -s powershell.exe
- Run the following command in the Powershell prompt that opens:[System.DirectoryServices.ActiveDirectory.ActiveDirectorySite]::GetComputerSite().Name
- You should see the same error, The specified directory service attribute or value does not exist
If the stack trace is similar to the following the issue is most likely due to the Computer account not having Read rights to the Computer object in AD:
at Quest.ServiceLocation.SCPUtil.__scp_lookup(IEnumerable`1 searchRoots, String filter, Boolean singleResult, Nullable`1 machineId, String machineDN, String installationName)
at Quest.ServiceLocation.SCPUtil.FindAllByKeyword(String keyword, Nullable`1 machineId, String machineDN, String installationName, IEnumerable`1 searchRoots)
at ChangeAuditor.Service.Service.FindAllCoordinatorScps(String serviceGuidKeyword)
at ChangeAuditor.Service.Service.OnStartImpl(String[] args)