Identity Broker Forum

Welcome to the community forum for Identity Broker.

Browse the knowledge base, ask questions directly to the product group, or leverage the community to get answers. Leave ideas for new features and vote for the features or bug fixes you want most.

0
Under review

Incorporate UNIFYNow concepts for UNIFYBroker+

Bob Bradley 4 years ago in UNIFYBroker/Plus updated by Matthew Davis (Technical Product Manager) 3 years ago 5

With the increased focus lately on deployments of the UNIFYAssure/UNIFYConnect/UNIFYBroker+ solution set, recent experience has been that at times it would have been handy to still use UNIFYNow to enhance the operations user experience - even without MIM in the picture, the familiar Operation List concept could apply equally to a Broker+ deployment as it can for MIM sync.

While we may consider pursuing this idea, a better outcome would be to incorporate UNIFYNow features in the UNIFYBroker+ product configuration itself (i.e. not only adding the Locker menu, but also an Operations menu ... sharing the existing Agents/Groups/Logs menus I imagine, and using the Groups concept to simplify the UX.

In scenario where pre/post processing is required (e.g. mailbox provisioning, notifications, workflow-like activities, etc.) such a configuration would undoubtedly be more maintainable and operationally easier to handle than it is without the UNIFYNow model we enjoy today for MIM solutions with similar out-of-band integration.

0
Answered

Initiating actions in UNIFYBroker/Plus on attribute value change

I am building a customer solution that requires an email to be sent to a user's manager when that user's attribute changes to a particular value (i.e. employeeState from "pending" to "active").

How can I implement this in UNIFYBroker/Plus?  This is functionality that is likely to be generally necessary, as customers often have a requirement to initiate a once-off event/action in response to a user's changed circumstances.

0
Answered

Can't find any entities in a pre-provisioning outbound task during Baseline Sync for brand new entities in the Locker

I have a locker with a number of new entities that I am trying to provision to an adapter via a link.  The underlying connector (AD, "group" object type) requires certain entity data attributes to be set that aren't available in the Locker, so I am trying to use an Outgoing Pre-Provisioning Task to set those attributes.  However, I cannot see any entities in the Pre-Provisioning Task.

I followed these instructions:

Image 5560

Here is my synchronously executed outgoing pre-provisioning task:

$ProvisioningOU = "OU=Azure Entitlements Demo,DC=adrian,DC=unifysolutions,DC=net"
$Logger.LogInformation("***** Pre-Provision to '$ProvisioningOU' *****")

foreach ($entity in $sourceEntities) {
$Logger.LogInformation("***** Pre-Provision sourceEntity *****")
}

foreach ($entity in $targetEntities) {
$Logger.LogInformation("***** Pre-Provision targetEntity *****")
$cn = $entity.SourceEntity["displayName"]
$dn = "CN=$cn,$ProvisioningOU"
$entity["ActiveDirectoryGroupDn"] = $dn
$Logger.LogInformation("Provision '$cn' to $dn")
}

foreach ($entity in $joinedEntities) {
$Logger.LogInformation("***** Pre-Provision joinedEntity *****")
}

$Logger.LogInformation("***** Pre-Provision Done *****")

Here is what I see in the error log (set to Diagnostic):

Image 5561

There do not appear to be any entities being passed to the Task.  The 5 entities not currently provisioned are marked as Incomplete (the other entity is pre-existing in the target connector/adapter).

In the Pre-Provisioning Task, how can I access the entities that are to be provisioned?

0
Not a bug

UNIFYBroker 5.3.1 RC2: Entities are not reflected in the adapter

Anthony Soquin 5 years ago in UNIFYBroker/Plus updated by Matthew Davis (Technical Product Manager) 5 years ago 6

Hi,

I have a connector named "Student" with 28k users but in the Student adapter I have at the momentL 3k entities.

The maximum entities in the adapter was 13k. 

UNIFY Broker has been fully reinstalled and the database re-created to try to fix the issue.

The logs are in Diagnostic mode, there is no error.

We are in UAT env, the same configuration is working fine in DEV and TEST environments.

Answer

Closing due to no response. Feel free to re-open the ticket if the issue persists.

0
Answered

How can I see all of the current Adapters/Locker joins?

How can I view which Adapters and Lockers objects are currently joined in the UNIFYBroker/Plus UI?

0
Planned

Perform only an incoming OR outgoing baseline synchronization on a Link, not both at once

Adrian Corston 5 years ago in UNIFYBroker/Plus updated by Matthew Davis (Technical Product Manager) 3 years ago 1

At the moment it doesn't seem to be possible to perform either an incoming or outgoing baseline sync operation on a Link - only both combined, with the order and/or parallelism of execution unspecified.

It would be tremendously helpful during environment deploy and remedial BAU activities if we had the facility to perform each operation independently, rather than having to go through hoops with prescriptive data load regimes or messing around with filters or editing PowerShell Tasks.

0
Not a bug

Pending Incoming Sync Changes for unjoined Adapter entities don't clear when Changes Sync runs

Adrian Corston 5 years ago in UNIFYBroker/Plus updated by anonymous 5 years ago 10

I have a downstream Chris21 system with outgoing provisioning enabled.  After an Import All on the corresponding Connector from Chris21, a number of changes were reflected to Chris21 Adapter, for users who were not joined to Lockers.  Those changes became Pending Incoming Sync Changes, and now every time Changes Synchronization runs they are marked as Incomplete and they are "stuck" and won't go away.  Since Changes Synchronization is configured to run every 30 seconds, this is leading to extra unnecessary processing.

I suspect a Baseline Synchronization will clear the issue, but I am awaiting further instructions and have not run it yet.

Matt suggesting using $denySync as a workaround to stop the system from processing those Pending Incoming Sync Changes, however the task doesn't seem to have visibility of those change objects.  Refer https://voice.unifysolutions.net/communities/6/topics/3862-no-entities-available-in-sourceentities-targetentities-or-joinedentities-powershell-incoming for a ticket raised to address that problem.

Answer

Hi Adrian, 

You can configure links with a filter to remove undesirable entities. This is more efficient than using PowerShell so attempt to use filters first. See the Link Filter documentation for details on how to configure filters.

For more complicated filtering scenarios you can use the $denySync method, however you will need to add it to a pre-provisioning task, as well as the sync task. As I mentioned in a comment on the topic you linked to, changes which result in a provision are not processed by synchronization tasks.

0
Not a bug

No entities available in $sourceEntities, $targetEntities or $joinedEntities PowerShell incoming synchronization task during Changes Synchronization

I have two Pending Incoming Sync Changes for un-joined Adapter objects (i.e. no corresponding Locker objects), and I added the following logging to an Incoming Synchronisation Task in order to see what data is available for those objects.  In the log file it seems the task ran twice but there were *no* entities reported at all either time, for any of the $joinedEntities, $sourceEntities or $targetEntities objects.

$Logger.LogInformation("******** DET INCOMING SYNC ********")

foreach ($source in $sourceEntities)
{
    $Logger.LogInformation("Source Entity " + $source["detnumber"].Value)
}

foreach ($target in $targetEntities)
{
    $Logger.LogInformation("Target Entity " + $target["EmployeeID"].Value)
}

foreach ($entity in $joinedEntities)
{
    $Logger.LogInformation("Joined Entity " + $entity.SourceEntity["detnumber"].Value + "/" + $entity.TargetEntity["EmployeeID"].Value)
}

$Logger.LogInformation("********* DET INCOMING SYNC done *********")

Log file output:

Image 5302

Answer

Hi Adrian, those entity collections were empty in a sync task because there were no changes to be synchronized at that point. The new target entities were provisioned first since they did not exist. When normal synchronization ran after the provisioning stage, there were no remaining changes requiring action, so the entity collections provided to the sync task PS script were empty.

0
Planned

"Attempting to retrieve the CollectionKeyId for caption <x> failed" after adding a new field when Locker objects already exist

Adrian Corston 5 years ago in UNIFYBroker/Plus updated by Matthew Davis (Technical Product Manager) 3 years ago 2

On a system with existing Locker records I added a new field to an Adapter, Locker and Link mapping, and then ran Changes Synchronization, which logged an error.  I then ran a Clear Sync Changes, followed by a Baseline Synchronization, but the same error still occurred.

I managed to get rid of the error by running Clear Entities on the Locker, which isn't ideal since I lost all my joins and had to careful resync my Links in the right order to avoid any undesirable provisioning attempts :-(

Synchronization job started syncing 42941 changes on the 'Chris21 DET' link from the adapter to locker. Job ID: b7478421-d9c7-405d-a286-290d823cd3eb",Normal
20190719,13:33:25,UNIFYBroker,Link,Error,"Request to sync changes on link failed.
Request to sync changes on link Chris21 DET (32a760fb-9e58-4761-ab12-9f57f10e79de) in direction outgoing failed with message Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption. [Count:42941]. Duration: 00:00:21.9409080
Error details:
System.ArgumentException: Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption.
at Unify.Product.Plus.LockerEntityValueOriginContext.LookupCollectionKeyId(String key)
at Unify.Product.Plus.LockerEntityValueOriginLinqQueryExecutorInformation.AddValueKeyFieldSearchValue(Guid searchID, String field)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.<>c__DisplayClass4_0.b__0(String item)
at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.Transform(MethodCallExpression expression)
at Unify.Product.Plus.LockerEntityValueOriginExpressionQueryVisitor.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.Data.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Unify.Product.Plus.PriorityRepository.<>c__DisplayClass14_0.b__3(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.Prioritizer.ShouldPrioritize(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.MappingApplicator.InnerApply[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean forUpdate, Boolean priorityLookupRequired)
at Unify.Product.Plus.MappingApplicator.ApplyForUpdate[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean priorityLookupRequired)
at Unify.Product.Plus.LinkSynchronizer`2.JoinAndMap(IEnumerable`1 filterResult, IDictionary`2 changesDict)
at Unify.Product.Plus.Link.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.LinkNotifierDecorator.<>c__DisplayClass42_0.b__0()
at Unify.Framework.Notification.NotifierDecoratorBase.Notify[TResult](ITaskNotificationFactory notificationFactory, Func`1 function)
at Unify.Product.Plus.LinkAuditingDecorator.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.AdapterToLockerSynchronizationJob.RunBase()
at Unify.Product.Plus.SynchronizationJobExecutor.d__8.MoveNext()",Normal
20190719,13:33:25,UNIFYBroker,SyncEngine,Information,"Request to sync adapter to locker errored.
Synchronization job failed syncing 42941 changes on the 'Chris21 DET' link from the adapter to locker with the reason Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption.. Job ID: b7478421-d9c7-405d-a286-290d823cd3eb Duration: 00:00:21.9409080
Error details:
System.ArgumentException: Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption.
at Unify.Product.Plus.LockerEntityValueOriginContext.LookupCollectionKeyId(String key)
at Unify.Product.Plus.LockerEntityValueOriginLinqQueryExecutorInformation.AddValueKeyFieldSearchValue(Guid searchID, String field)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.<>c__DisplayClass4_0.b__0(String item)
at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.Transform(MethodCallExpression expression)
at Unify.Product.Plus.LockerEntityValueOriginExpressionQueryVisitor.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.Data.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Unify.Product.Plus.PriorityRepository.<>c__DisplayClass14_0.b__3(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.Prioritizer.ShouldPrioritize(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.MappingApplicator.InnerApply[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean forUpdate, Boolean priorityLookupRequired)
at Unify.Product.Plus.MappingApplicator.ApplyForUpdate[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean priorityLookupRequired)
at Unify.Product.Plus.LinkSynchronizer`2.JoinAndMap(IEnumerable`1 filterResult, IDictionary`2 changesDict)
at Unify.Product.Plus.Link.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.LinkNotifierDecorator.<>c__DisplayClass42_0.b__0()
at Unify.Framework.Notification.NotifierDecoratorBase.Notify[TResult](ITaskNotificationFactory notificationFactory, Func`1 function)
at Unify.Product.Plus.LinkAuditingDecorator.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.AdapterToLockerSynchronizationJob.RunBase()
at Unify.Product.Plus.SynchronizationJobExecutor.d__8.MoveNext()",Normal
20190719,13:33:25,UNIFYBroker,Int32 LookupCollectionKeyId(System.String),Error,"Unify.Plus.ChangeTracking.Repository.Sql:
System.ArgumentException: Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption.
at Unify.Product.Plus.LockerEntityValueOriginContext.LookupCollectionKeyId(String key)
at Unify.Product.Plus.LockerEntityValueOriginLinqQueryExecutorInformation.AddValueKeyFieldSearchValue(Guid searchID, String field)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.<>c__DisplayClass4_0.b__0(String item)
at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.Transform(MethodCallExpression expression)
at Unify.Product.Plus.LockerEntityValueOriginExpressionQueryVisitor.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.Data.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Unify.Product.Plus.PriorityRepository.<>c__DisplayClass14_0.b__3(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.Prioritizer.ShouldPrioritize(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.MappingApplicator.InnerApply[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean forUpdate, Boolean priorityLookupRequired)
at Unify.Product.Plus.MappingApplicator.ApplyForUpdate[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean priorityLookupRequired)
at Unify.Product.Plus.LinkSynchronizer`2.JoinAndMap(IEnumerable`1 filterResult, IDictionary`2 changesDict)
at Unify.Product.Plus.Link.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.LinkNotifierDecorator.<>c__DisplayClass42_0.b__0()
at Unify.Framework.Notification.NotifierDecoratorBase.Notify[TResult](ITaskNotificationFactory notificationFactory, Func`1 function)
at Unify.Product.Plus.LinkAuditingDecorator.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.AdapterToLockerSynchronizationJob.RunBase()
at Unify.Product.Plus.SynchronizationJobExecutor.d__8.MoveNext()",Normal
20190719,13:34:37,UNIFYBroker,Link,Information,"Request to manually queue a baseline synchronization job on link started.
Request to manually queue a baseline synchronization job on link Chris21 DET started.",Normal
20190719,13:41:58,UNIFYBroker,Link,Information,"Request to manually queue a baseline synchronization job on link completed.
Request to manually queue a baseline synchronization job on link 'Chris21 DET' completed. Duration: 00:07:21.4025706",Normal
20190719,13:42:06,UNIFYBroker,SyncEngine,Information,"Request to sync adapter to locker started.
Synchronization job started syncing 42942 changes on the 'Chris21 DET' link from the adapter to locker. Job ID: a68bff33-8555-43e4-ac9b-222f014f1053",Normal
20190719,13:42:28,UNIFYBroker,Link,Error,"Request to sync changes on link failed.
Request to sync changes on link Chris21 DET (32a760fb-9e58-4761-ab12-9f57f10e79de) in direction outgoing failed with message Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption. [Count:42942]. Duration: 00:00:21.9446416
Error details:
System.ArgumentException: Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption.
at Unify.Product.Plus.LockerEntityValueOriginContext.LookupCollectionKeyId(String key)
at Unify.Product.Plus.LockerEntityValueOriginLinqQueryExecutorInformation.AddValueKeyFieldSearchValue(Guid searchID, String field)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.<>c__DisplayClass4_0.b__0(String item)
at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.Transform(MethodCallExpression expression)
at Unify.Product.Plus.LockerEntityValueOriginExpressionQueryVisitor.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.Data.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Unify.Product.Plus.PriorityRepository.<>c__DisplayClass14_0.b__3(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.Prioritizer.ShouldPrioritize(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.MappingApplicator.InnerApply[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean forUpdate, Boolean priorityLookupRequired)
at Unify.Product.Plus.MappingApplicator.ApplyForUpdate[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean priorityLookupRequired)
at Unify.Product.Plus.LinkSynchronizer`2.JoinAndMap(IEnumerable`1 filterResult, IDictionary`2 changesDict)
at Unify.Product.Plus.Link.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.LinkNotifierDecorator.<>c__DisplayClass42_0.b__0()
at Unify.Framework.Notification.NotifierDecoratorBase.Notify[TResult](ITaskNotificationFactory notificationFactory, Func`1 function)
at Unify.Product.Plus.LinkAuditingDecorator.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.AdapterToLockerSynchronizationJob.RunBase()
at Unify.Product.Plus.SynchronizationJobExecutor.d__8.MoveNext()",Normal
20190719,13:42:28,UNIFYBroker,SyncEngine,Information,"Request to sync adapter to locker errored.
Synchronization job failed syncing 42942 changes on the 'Chris21 DET' link from the adapter to locker with the reason Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption.. Job ID: a68bff33-8555-43e4-ac9b-222f014f1053 Duration: 00:00:21.9446416
Error details:
System.ArgumentException: Attempting to retrieve the CollectionKeyId for caption DETProvisioned failed. No collection key record found for that caption.
at Unify.Product.Plus.LockerEntityValueOriginContext.LookupCollectionKeyId(String key)
at Unify.Product.Plus.LockerEntityValueOriginLinqQueryExecutorInformation.AddValueKeyFieldSearchValue(Guid searchID, String field)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.<>c__DisplayClass4_0.b__0(String item)
at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.Plus.VisitMethodWhereWithContainsValueKeyField.Transform(MethodCallExpression expression)
at Unify.Product.Plus.LockerEntityValueOriginExpressionQueryVisitor.VisitMethodCall(MethodCallExpression m)
at Unify.Framework.ExpressionVisitorBase`11.Visit(Expression exp)
at Unify.Framework.Data.LinqContextConversionExpressionVisitorBase`5.ConvertExpression(Expression partitionExpression)
at Unify.Framework.Data.LinqQueryConversionProvider`5.GetOrderedQuery(Expression businessExpression, IQueryable`1 sourceQueryable, TContext sourceContext)
at Unify.Framework.Data.LinqWhereQuery`5.GetEnumerator()
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Unify.Product.Plus.PriorityRepository.<>c__DisplayClass14_0.b__3(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.Prioritizer.ShouldPrioritize(Guid targetEntityId, AdapterEntityValueCollectionKey field)
at Unify.Product.Plus.MappingApplicator.InnerApply[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean forUpdate, Boolean priorityLookupRequired)
at Unify.Product.Plus.MappingApplicator.ApplyForUpdate[TSourceEntity,TTargetEntity](IJoinedEntityPair`2 joinedPair, ISyncChange syncChange, Boolean priorityLookupRequired)
at Unify.Product.Plus.LinkSynchronizer`2.JoinAndMap(IEnumerable`1 filterResult, IDictionary`2 changesDict)
at Unify.Product.Plus.Link.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.LinkNotifierDecorator.<>c__DisplayClass42_0.b__0()
at Unify.Framework.Notification.NotifierDecoratorBase.Notify[TResult](ITaskNotificationFactory notificationFactory, Func`1 function)
at Unify.Product.Plus.LinkAuditingDecorator.SynchronizeAdapterChanges(IEnumerable`1 changes)
at Unify.Product.Plus.AdapterToLockerSynchronizationJob.RunBase()
at Unify.Product.Plus.SynchronizationJobExecutor.d__8.MoveNext()",Normal
201

0
Answered

Baseline sync reports: Received error code Other An Unknown error occurred

Adrian Corston 5 years ago in UNIFYBroker/Plus updated by anonymous 5 years ago 1

Image 5293

My AD service account has permission to update users in AD.  How can I get more information about why this is happening?

New install, Broker/Plus 5.3.0.2

Answer
anonymous 5 years ago

Matt & Adam investigated - the issue was that the OU to which Broker was attempting to move a user object was not present in AD.  I have noticed that "5012" errors like this one have been associated with AD OU issues before.

The screen shot above includes the text "MoveEntryAsync" in the middle of the stack trace, which alerted Adam to the fact that the issue was related to a DN move operation.