WEM Broker and WEM Agent are in different domains in different forests,
A two-way External trust exists between these two domains.
WEM Agents are unable to establish a connection to the WEM broker, they are not listed in the WEM console > Administration > Agents
The WEM infrastructure debug log shows and exception:
10:42:17 Event -> MainBrokerWinSvc.<StartAgentBroker>b__40_0() : Connection in progress -> Client xxxxxxxxxxxx version 4.6.0.0 with Ip address xxxxx.xxxx.xxxx.xxxx 10:42:17 Exception -> AgentBrokerService.() : System.InvalidOperationException: Sequence contains no elements at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) at Norskale.Broker.Agent.AgentBrokerService.() 10:42:17 Exception -> AgentBrokerService..ctor() : Sequence contains no elementsAlso if we add WEM Agents in the same domain as the WEM Broker, they will only appears in the WEM console if we remove first the OU for the Agents in the trusted domain.
10:44:41 Event -> MainBrokerWinSvc.<StartAgentBroker>b__40_0() : Connection in progress -> Client xxxxxxxxxxxxxxx version 4.6.0.0 with Ip address xx.xx.xx.xxx 10:44:42 Exception -> AgentBrokerService.() : System.AggregateException: One or more errors occurred. ---> System.InvalidOperationException: Sequence contains no elements at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) at Norskale.Broker.Agent.AgentBrokerService..(VUEMADObject ) at System.Linq.Parallel.SelectQueryOperator`2.SelectQueryOperatorEnumerator`1.MoveNext(TOutput& currentElement, TKey& currentKey) at System.Linq.Parallel.WhereQueryOperator`1.WhereQueryOperatorEnumerator`1.MoveNext(TInputOutput& currentElement, TKey& currentKey) at System.Linq.Parallel.StopAndGoSpoolingTask`2.SpoolingWork() at System.Linq.Parallel.SpoolingTaskBase.Work() at System.Linq.Parallel.QueryTask.BaseWork(Object unused) at System.Threading.Tasks.Task.Execute() --- End of inner exception stack trace --- at System.Linq.Parallel.QueryTaskGroupState.QueryEnd(Boolean userInitiatedDispose) at System.Linq.Parallel.DefaultMergeHelper`2.System.Linq.Parallel.IMergeHelper<TInputOutput>.Execute() at System.Linq.Parallel.MergeExecutor`1.Execute[TKey](PartitionedStream`2 partitions, Boolean ignoreOutput, ParallelMergeOptions options, TaskScheduler taskScheduler, Boolean isOrdered, CancellationState cancellationState, Int32 queryId) at System.Linq.Parallel.PartitionedStreamMerger`1.Receive[TKey](PartitionedStream`2 partitionedStream) at System.Linq.Parallel.WhereQueryOperator`1.WrapPartitionedStream[TKey](PartitionedStream`2 inputStream, IPartitionedStreamRecipient`1 recipient, Boolean preferStriping, QuerySettings settings) at System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.ChildResultsRecipient.Receive[TKey](PartitionedStream`2 inputStream) at System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.ChildResultsRecipient.Receive[TKey](PartitionedStream`2 inputStream) at System.Linq.Parallel.ScanQueryOperator`1.ScanEnumerableQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient) at System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient) at System.Linq.Parallel.UnaryQueryOperator`2.UnaryQueryOperatorResults.GivePartitionedStream(IPartitionedStreamRecipient`1 recipient) at System.Linq.Parallel.QueryOperator`1.GetOpenedEnumerator(Nullable`1 mergeOptions, Boolean suppressOrder, Boolean forEffect, QuerySettings querySettings) at System.Linq.Parallel.QueryOpeningEnumerator`1.OpenQuery() at System.Linq.Parallel.QueryOpeningEnumerator`1.MoveNext() at System.Linq.ParallelEnumerable.ToList[TSource](ParallelQuery`1 source) at Norskale.Broker.Agent.AgentBrokerService.(ActiveDirectoryComputer , ActiveDirectoryService , List`1 ) at Norskale.Broker.Agent.AgentBrokerService.() ---> (Inner Exception #0) System.InvalidOperationException: Sequence contains no elements at System.Linq.Enumerable.First[TSource](IEnumerable`1 source) at Norskale.Broker.Agent.AgentBrokerService..(VUEMADObject ) at System.Linq.Parallel.SelectQueryOperator`2.SelectQueryOperatorEnumerator`1.MoveNext(TOutput& currentElement, TKey& currentKey) at System.Linq.Parallel.WhereQueryOperator`1.WhereQueryOperatorEnumerator`1.MoveNext(TInputOutput& currentElement, TKey& currentKey) at System.Linq.Parallel.StopAndGoSpoolingTask`2.SpoolingWork() at System.Linq.Parallel.SpoolingTaskBase.Work() at System.Linq.Parallel.QueryTask.BaseWork(Object unused) at System.Threading.Tasks.Task.Execute()<---Lastly, a similar problem exists with 'Active Directory Objects > users' objects.