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
Fixed

Google passwords are not being set on creation

Boyd Bostock 7 years ago in UNIFYBroker/Google Apps updated by Adam van Vliet 7 years ago 6

Google passwords are not being set on creation, subsequent resets in AD are synchronised successfully.

In MIM the export_password attribute is set with the desired password, I was unable to find any information about this attribute or how to configure the Password Script in the Google Connector.

Unsure of when this started to re-occur as most users authenticate via the IDP, however Chromebooks authenticate directly. It appears this issue has occurred before https://voice.unifysolutions.net/communities/6/topics/2816-passwords-are-not-set-on-google-account-creation however the key is configured to be email address.

Identity Broker: v5.2.0 Revision #3
Google Connector: 5.2.0.2
Unify.IdentityBroker.Communicator.Google.dll: 5.2.0.1

Answer
Adam van Vliet 7 years ago

So just confirming, using the Identity Broker version of the Newtonsoft fixes that particular issue? I'll update the connector to use the same version so that it isn't able to override it.

Do you have an update on whether the password change is working?

0
Answered

An item with the same key has already been added

I have just upgraded IdB in TEST to 5.2, and migrated in the Connector and Adapter files from Dev. Dev was already on 5.2 and all connectors are working.

In TEST all of the new Connectors (names "PowerShell HomeFolder*" and "PowerShell MemberOf*") are failing with the error below. The "Powershell Exchange*" connectors work fine (though they already pre-existing in IdB 5.1 before I upgraded to 5.2).

The Connector config file is the same as the one I sent with the previous question. While the error looks very similar to that one it can't be the same - that was a duplicate schema mapping in the connector config, but Powershell connectors don't have schema mapping.

My Import scripts drop a full log of all entity values before running the $entity.Create ... $entity.Commit loop. There are no duplicate sAMAccountNames.

Note that when I did the IdB database upgrade in Test I removed the final lines from the script as told to do here. I don't seem to have had any problems with this in Dev, but thought it worth mentioning.


Change detection engine import all items failed.
Change detection engine import all items for connector PowerShell HomeFolder NMI failed with reason An error occurred while evaluating a task on a worker thread. See the inner exception details for information.. Duration: 00:01:37.5326976
Error details:
Unify.Framework.EvaluatorVisitorException: An error occurred while evaluating a task on a worker thread. See the inner exception details for information. ---> System.ArgumentException: An item with the same key has already been added.
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
at Unify.Product.IdentityBroker.Repository.EntityLinqQueryConverterUtilitiesBase`4.GetCollectionKeyData(TEntityKey key, EntityDataContext sourceContext)
at Unify.Product.IdentityBroker.Repository.EntitySingleValueDataUtilityBase`2.CreateEntityValue(TEntityKey key, IValue value, IEntityCollectionKeyUtility`1 collectionKeyUtility, EntityDataSet set, __EntityInsertRow row, EntityDataContext sourceContext)
at Unify.Product.IdentityBroker.Repository.KnownEntityContextBase`4.ConvertEntityValueToDataValue(KeyValuePair`2 entityValueAndKey, __EntityInsertRow row, EntityDataSet entityDataSet, EntityDataContext sourceContext)
at Unify.Product.IdentityBroker.Repository.KnownEntityContextBase`4.<>c__DisplayClass31_0.<convertitemtovalues>b__0(KeyValuePair`2 entityValueAndKey)
at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
at System.Linq.Enumerable.<selectmanyiterator>d__16`2.MoveNext()
at Unify.Framework.Visitor.Visit[T](IEnumerable`1 visitCollection, Action`2 visitor)
at Unify.Product.IdentityBroker.Repository.KnownEntityContextBase`4.InsertItems(ISet`1 addedItems, EntityDataContext sourceContext, SqlConnection connection)
at Unify.Framework.Data.LinqContextConversionBase`4.SubmitChanges()
at Unify.Product.IdentityBroker.SaveChangedEntitiesTransformationUnit.Transform(IDictionaryTwoPassDifferenceReport`4 input)
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetectionOnConnectorEntityPage(IEnumerable`1 connectorEntities, Int32& index, Int32 entitiesProcessedSoFar, IEntityChangesReportGenerator`2 reportGenerator, IHashSet`1 seenKeys)
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.<>c__DisplayClass11_0.<performchangedetection>b__0(IEnumerable`1 page)
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.ThreadsafeItemEvaluator.Evaluate()
--- End of inner exception stack trace ---
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.CheckForException()
at Unify.Framework.Visitor.ThreadsafeVisitorEvaluator`1.Visit()
at Unify.Product.IdentityBroker.RepositoryChangeDetectionWorkerBase.PerformChangeDetection(IEnumerable`1 connectorEntities)
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.ImportAllChangeProcess()
at Unify.Product.IdentityBroker.ChangeDetectionImportAllJob.RunBase()
at Unify.Framework.DefinedScopeJobAuditTrailJobDecorator.Run()
at Unify.Product.IdentityBroker.ConnectorJobExecutor.<>c__DisplayClass30_0.<run>b__0()
at Unify.Framework.<span class="redactor-selection-marker" id="selection-marker-1"></span>AsynchronousJobExecutor.PerformJobCallback(Object state)
</run></performchangedetection></selectmanyiterator></convertitemtovalues>
Answer

For future reference, this issue is caused by entries in the CollectionKey table with the same Caption field value. The duplicate captions, produced by a defect in Identity Broker v5.1, cause exceptions to be thrown in several areas of the application after performing an upgrade to Identity Broker v5.2 which assume these values to be unique.

The simplest solution for this issue would be running the database clear script found in the <InstallDir>/Database directory. If this is not possible or desirable, attempt to run the script I provided below which clears the CollectionKey table of all unused entries and may resolve this issue. If the issue persists at this point a script or tool can be provided suitable to the specific environment to more directly correct the database state.

0
Answered

Does IdB v5.2 support Windows 2016

Rizwan Ahmed 7 years ago in UNIFYBroker/Microsoft Identity Manager updated 7 years ago 2

The best I could find was the link below;

https://voice.unifysolutions.net/knowledge-bases/7/articles/2920-identity-broker-installation-prerequisites

which does mention Window 2008 SP1 or later, but client’s question is specific to Windows 2016 testing and certification. To be honest I believe what they really mean is, are the following products tested to be supporting Windows 2016 by UNIFY. Or should they get the new server build on Windows 2012 2012 R2 64bit

  • UNIFY Identity Broker Service v5.2.1.0 RTM x64
  • UNIFY Identity Broker for Microsoft Identity Manager v5.1.0 RTM
  • UNIFY Identity Broker for Aurion v5.2.0 RC1

Thank You.

Answer
Adam van Vliet 7 years ago

Hi Rizwan,

Identity Broker has been tested against all versions of Windows from 2008 SP1 and onwards, with most testing against 2016. I'll look at updating the page so that it's a little more clear.

If the client was actually referring to Microsoft certification, then no; the certification program is not available at the moment as it's being reworked.

Thanks.

0
Answered

Client Upgrade to .Net 4.6 cause MA to Fail

Hayden Gray 7 years ago in UNIFYBroker/Microsoft Identity Manager updated by Adam van Vliet 7 years ago 1

Hi,

I'm investigating an ACTGOV incident (Ivanti Incident 50255) and they have run into issues testing an upgrade to .Net 4.6 on an existing installation in their TEST environment. 

The description from ACTGOV is as follows:

Hi,

We would like to upgrade .net on our Education FIM server to 4.6 but we found that when we do so in our test environment that our Maze MAs stop working.  In the event log we get the error message:

Image 4764


Given the MA refuses to even start the problem appears to be Unify.Framework.ILM2007FP1Adapter.dll.  Are you able to provide an updated version of this DLL that has been compiled with .net 4.6?

The version we currently have is 3.0.1.1 with a time stamp of 9/7/2013.

Cheers,

I was hoping you may be able to assist with a copy of the dll able to run with .Net 4.6 or what the action for remediation on this issue is.

Below are also the software versions the client has:

  • FIM 2010 Sync Engine
  • FIM Service Portal and SSPR
  • Identity Broker for FIM 4
  • Identity Broker for CISCO 4
  • Identity Broker for viewDS
  • Identity Broker for Sharepoint 4

Let me know if you need any more details.

Thank you,

Hayden Gray

Answer
Adam van Vliet 7 years ago

I'm not sure why that would cause the MA to fail, the Windows Event Log might have more information. However, if you're targeting Identity Broker v4+ you should be using the matching MA dll (not v3). If you're still on v3, you should upgrade to v4+ as it's no longer supported (extended support can be arranged, see https://voice.unifysolutions.net/knowledge-bases/7/articles/3321-identity-broker-support-policy).

0
Answered

An item with the same key has been added

Carol Wapshere 7 years ago in UNIFYBroker/Aurion updated by Adam van Vliet 7 years ago 2

I upgraded to IdB 5.2.1 in Dev and the Aurion Person connector has stopped working with the error below. It has disabled itself and won't let me re-enable it, so I can't run the import again, or even clear the connector.

The key is the Aurion WAMIKey and there cannot be a duplicate. The Aurion DB in dev has not been updated since it was working with Idb 5.1 (no new persons added).


Message    An error has occurred: An item with the same key has already been added.
Type    System.ArgumentException
Stacktrace    at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
at Unify.Connectors.Aurion.AurionConnectorInformationFactoryBase`1.Transform(XElement sourceValue)
at Unify.Product.IdentityBroker.ConnectorControllerBase.GetSpecializedConnector[TInfo,TExtended](Guid connectorId, String expectedType, String callingPath, Func`2 toExtended)
at Unify.Product.IdentityBroker.PluggedConnectorControllerBase`2.GetConnector(Guid connectorId)
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<getexecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.<invokeactionasynccore>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ActionFilterResult.<executeasync>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Filters.AuthorizationFilterAttribute.<executeauthorizationfilterasynccore>d__2.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Dispatcher.HttpControllerDispatcher.<sendasync>d__1.MoveNext()
</sendasync></executeauthorizationfilterasynccore></executeasync></invokeactionasynccore></getexecutor>
Answer
Adam van Vliet 7 years ago

There are duplicate Contact_Phone_Number mappings, please try removing one.

0
Fixed

A task was cancelled

Carol Wapshere 7 years ago updated by Beau Harrison (Senior Product Software Engineer) 6 years ago 12

When running connector imports in IdB 5.2 (PowerShell connector) I am seeing a message "A task was cancelled" though there doesn't actually seem to be any problem. MD says this is a known issue but I need to ask for a patch for 5.2.

This is the full error:



System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Unify.Connect.Web.Client.ConnectorClient.d__35.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Unify.Connect.Web.Client.ProfiledConnectorClient.d__108.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Unify.Framework.Web.UnifyController.d__39.MoveNext()
Answer
Adam van Vliet 7 years ago

Hi Carol,

Could you please try applying the following patch, and let me know if the issue persists? Patch.zip

0
Not a bug

SAP HCM Agent - Test connection fails

Dilip Ramakrishnan 7 years ago updated by Adam van Vliet 7 years ago 3

Environment:

OS : Windows Server 2016

IDB Service: IDB v4.1.5 x64

IDB SAP Broker : v4.1.3 x64

Test connection on SAP HCM Agents returns error below:

An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

Troubleshooting done so far:

Current environment with IDB v4.1.3 + IDB SAB Broker v4.1.2 running on Windows 2008 R2 with same credentials and same parameters to connect to SAP instance works without any issues.

IDB Logs have this entry below

The test of agent SAP HCM Agent failed with message System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
at SAP.Connector.Connection.Open()
at Unify.Product.IdentityBroker.SapHrCommunicator.Open()
at Unify.Product.IdentityBroker.SapHrCommunicator.TestConnection()
at Unify.Product.IdentityBroker.SapHrAgent.TestConnection()
at Unify.Product.IdentityBroker.AgentEngine.Test(Guid agentId).

No errors logged in Event Viewer.

0
Answered

Migrating IdentityBroker configuration from one env to another

Huu Tran 7 years ago updated by Adam van Vliet 7 years ago 1

Database migration will copy both configuration and data. Just wonder how to migration the configuration only without migrating data?

0
Declined

The dimage indicates an add attrib operation, but the attrib already exists on the object.

Amol Patil 7 years ago updated by Adam van Vliet 7 years ago 16

Identity Broker is occasionally throwing “staging-error” as part of the Delta Import. 

Please see the attached files with error logs. 

Could you please review and advice?

Version Details:

Identity Broker: v5.1.0 Revision # 2
FIM 2010 R2: 4.1.3508.0

Answer
Adam van Vliet 7 years ago

Adam/Richard/Aneesh, please replicate this (it shouldn't need the same systems). The information should be in Aneesh's comments, it's just that the analysis hasn't been done to show why it's a problem. A replication might help us track down the sequence of events that lead to the problem.

0
Answered

Access denied importing Boolean value

Carol Wapshere 7 years ago in PowerShell connector updated 7 years ago 2

I have been struggling with an odd issue. I have a number of PowerShell connectors in my solution, and quite a few of them have Boolean attributes (in addition to String). I have created a new connector which is very similar to the existing ones, and uses very similar scripts. Here is what is happening:

- When I comment out my import step for the Boolean attribute (so it just imports the String attributes) the full import works

- When I add the Boolean attribute in the import fails with "Access Denied". I know the correct value is actually being generated as I'm dropping a debug log file which shows all the values it's trying to put into the entity.

- When I run a Polling import (where I can list account names in a text file and it just imports those) it works correctly, including bringing in the Boolean value. This is also weird as it's the same Powershell script - the differences are in the initial collection of data, but the part where it updates and commits the entities is identical for both full and polling imports.

I thought it might be something to do with $null values but have made sure that the script always sets a default value of $false. This is the error message - it is definitely happening during the loop where I go through the data I've collected committing the entities.

I've also upgraded IdB to 5.2, but no change from 5.1 on this issue.


Change detection engine import all items for connector PowerShell HomeFolder failed with reason Access is denied. Duration: 00:01:19.9160765

Error details:

System.UnauthorizedAccessException: Access is denied ---> System.ComponentModel.Win32Exception: Access is denied

   --- End of inner exception stack trace ---

   at Unify.Framework.Auditing.AuditingExtensions.<>c__DisplayClass4_0.<TaskContinueWithExceptionPassthough>b__0(Task t)

   at System.Threading.Tasks.Task.Execute()",Normal


Answer
Curtis Lusmore 7 years ago

Via phone call, the problem was that the line which was being commented out includes a call to Test-Path, and we believe the permissions error is happening there.