How to import AD Users/Groups when the domains can not be resolved and loading screen does not disappear 1355 0x54b ERROR_NO_SUCH_DOMAIN
Error Description: When trying to import AD Users/Groups the domains don't resolve and loading screen does not disappear.
The following error message appears in the Orchestrator EventViewer Application log.
UiPath.Orchestrator.Core.Exceptions.BadRequestException: Error code - 1413, Message - 'The user is not a member of the specified AD domain.' ---> System.DirectoryServices.ActiveDirectory.ActiveDirectoryServerDownException: The specified domain either does not exist or could not be contacted. Name: "DOMAINNAME" at DomainControllerInfo System.DirectoryServices.ActiveDirectory.Locator.GetDomainControllerInfo(string computerName, string domainName, string siteName, long flags) at bool System.DirectoryServices.ActiveDirectory.DirectoryContext.isCurrentForest() at string System.DirectoryServices.ActiveDirectory.DirectoryContext.GetServerName() at DirectoryEntry System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.GetNewDirectoryEntry(string dn) at DirectoryEntry System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.GetCachedDirectoryEntry(string distinguishedName) at string System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.ExpandWellKnownDN(WellKnownDN dn) at string System.DirectoryServices.ActiveDirectory.DirectoryEntryManager.ExpandWellKnownDN(WellKnownDN dn) at ArrayList System.DirectoryServices.ActiveDirectory.Forest.GetDomains() at DomainCollection System.DirectoryServices.ActiveDirectory.Forest.get_Domains() at IReadOnlyList UiPath.Orchestrator.Core.DirectoryService.ActiveDirectoryClient.GetDomains()+(string key) => { } at TValue Abp.Runtime.Caching.CacheExtensions.Get(ICache cache, TKey key, Func factory)+(string k) => { } at object Abp.Runtime.Caching.CacheBase.Get(string key, Func factory) at TValue Abp.Runtime.Caching.CacheExtensions.Get(ICache cache, TKey key, Func factory) at IReadOnlyList UiPath.Orchestrator.Core.DirectoryService.ActiveDirectoryClient.GetDomains() --- End of inner exception stack trace --- at IReadOnlyList UiPath.Orchestrator.Core.DirectoryService.ActiveDirectoryClient.GetDomains() at IHttpActionResult UiPath.Web.Controllers.DirectoryServiceController.GetDomains() at object lambda_method(Closure, object, object[]) at Func<object, object[], Task> System.Web.Http.Controllers.ReflectedHttpActionDescriptor+ActionExecutor.GetExecutor(MethodInfo methodInfo)+(object instance, object[] methodParameters) => { } at Task System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary arguments, CancellationToken cancellationToken) at async Task System.Web.Http.Controllers.ApiControllerActionInvoker.InvokeActionAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task UiPath.Orchestrator.Web.Api.Filters.MaintenanceFilter.ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task UiPath.Orchestrator.Web.Common.Filters.CancellationTokenFilter.ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task UiPath.Orchestrator.Web.Common.Filters.AuditExecutionFilter.ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task Abp.WebApi.Uow.AbpApiUowFilter.ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task Abp.WebApi.Validation.AbpApiValidationFilter.ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task Abp.WebApi.Auditing.AbpApiAuditFilter.ExecuteActionFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.CallOnActionExecutedAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Filters.ActionFilterAttribute.ExecuteActionFilterAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Controllers.ActionFilterResult.ExecuteAsync(CancellationToken cancellationToken) at async Task System.Web.Http.Filters.AuthorizationFilterAttribute.ExecuteAuthorizationFilterAsyncCore(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task UiPath.Orchestrator.Web.Common.Authorization.UiApiAuthorizationFilter.ExecuteAuthorizationFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task UiPath.Orchestrator.Web.Common.Filters.OrganizationUnitValidationFilter.ExecuteAuthorizationFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task UiPath.Orchestrator.Web.Common.Authentication.UiApiAuthenticationFilter.ExecuteAuthorizationFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task Abp.WebApi.Security.AntiForgery.AbpAntiForgeryApiFilter.ExecuteAuthorizationFilterAsync(HttpActionContext actionContext, CancellationToken cancellationToken, Func<Task> continuation) at async Task System.Web.Http.Controllers.AuthenticationFilterResult.ExecuteAsync(CancellationToken cancellationToken) at async Task System.Web.Http.Controllers.ExceptionFilterResult.ExecuteAsync(CancellationToken cancellationToken) System.DirectoryServices.ActiveDirectory.ActiveDirectoryServerDownException: The specified domain either does not exist or could not be contacted.
Validation: To validate the issue follow the steps below
-
Open a CMD on the Orchestrator machine and Run the following command
-
nltest /dsgetdc:DOMAINNAME
-
If it errors with
1355 0x54b ERROR_NO_SUCH_DOMAINit means either the DNS or Network is not resolving a Domain Controller for the domain
-
Attempt to run it on a different machine, but on a different network with access to the domain. This will confirm the DNS is not the culprit if it is working and will give a DCHOSTNAME to validate the port on.
-
If 4 is successful, open a Powershell and run the following command
[adsi]”LDAP://DCHOSTNAME:389”
or telnet to check the port
-
If it works on another server and not on the Orchestrator one it means the port 389 is blocked or communication via LDAP is blocked.
Note : Ensure the application pool user of the orchestrator, identity and webhooks is the part of the same domain with the Windows Authorizations Access Group.