MIM Event Broker Forum

Welcome to the community forum for MIM Event 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

Ability to pause a running Operation List

Adrian Corston 4 years ago 0

Sometimes I wish I could pause an Operation List (after the current operation completes, obviously), perform some manual steps, and then restart it from the same place.

0
Published

UNIFYNow Invalid Cast Exception

Ravneel Lal 4 years ago updated by Beau Harrison (Senior Product Software Engineer) 4 years ago 9

Getting the following error in Event Broker. Running version: 4.0.4 Rev 1

Operation AD MA - Delta Import and Delta Sync  with id 72e8799b-cbf2-402b-9d2e-119957d9cfc2 failed in the operation list REDACTED Outgoing with id 21bb9f43-c07e-42db-bb21-118e7752123c for the following reason. This is retry number 0: System.InvalidCastException: The agent of type IdentityBrokerAgentAuditingDecorator was not of requested type IMIMAgent.
at Unify.Product.EventBroker.AgentExtensions.GetTypedAgent[TAgent](IAgent agent)
at Unify.Product.EventBroker.AgentEngineRepository.GetAgent[TAgent](Guid agentId)
at Unify.Product.EventBroker.RunProfilePlugInFactory.CreateComponent(IOperationFactoryInformation factoryInformation)
at Unify.Framework.ExtensibilityPlugInGenerator`4.CreateComponent(TFactoryInfo factoryInformation)
at Unify.Product.EventBroker.OperationListExecutorBase.RunNextOperations(IEnumerator`1 operationEnumerator)

 

0
Answered

WMI Deprecated from AAD Connect from version 1.4.18.0

Bob Bradley 4 years ago updated by Matthew Davis (Technical Product Manager) 4 years ago 6

In attempting to upgrade an existing UNIFYNow site to work with the latest AAD Connect version, I found that the microsoftidentityintegrationservice WMI namespace was missing.  This was preventing the successful creation of an AAD Connect agent for the new AAD Connect host.

After locating articles on how to restore this namespace, I found this reference which stated "... the deprecated WMI endpoints for MIIS_Service have now been removed ...".  Furthermore, the local ADSyncAdmins, ADSyncBrowse, ADSyncOperators and ADSyncPasswordSet groups no longer exist - these being the security roles associated to the WMI namespace.

Guidance in the above reference is now this: "Any WMI operations should now be done via PS cmdlets"

Does this mean that UNIFYNow will not support AAD Connect from version 1.4.18.0 onwards, or is work underway to change the agent to connect via PS?

Answer

Thanks Bob. I've updated the article to contain this information.

0

Support for Group Managed Service Accounts (gMSA)

Bob Bradley 4 years ago updated 4 years ago 1

Microsoft has just published this MIM article which explains how to configure the MIM Sync and Server service accounts to be gMSA (ones that don't require passwords).

To make for a more compelling business case to leverage this at MIM sites it would help if UNIFYNow (and UNIFYBroker for that matter) also supported gMSA.  This would help simplify MIM/Broker deployments at customer sites.

Can we please have this feature request put forward for consideration?

0
Not a bug

Cannot create sub components within an operations list

Hayden Gray 4 years ago updated by Matthew Davis (Technical Product Manager) 4 years ago 1

Hello,


After a recent upgrade to UNIFYNow 3 days ago, after this the service was working fine for some time and confirmed last night still working as expected. Though this morning when attempting to create sub operations (i.e check operation/schedule/listen operation/operation) I get presented with the following error:

Unify.Framework.UnifyCommunicationException: The service client does not implement the IEventServiceClient type.
at Unify.Framework.Web.UnifyController.GetClient[TServiceClient]() in C:\agent\_work\69\s\Source\Web\Unify.Framework.Web\Extensions\UnifyController.cs:line 59
at Unify.EventBroker.Web.OperationController.<.ctor>b__103_1(UnifySiteMapNode node, UnifySiteNodeAttribute attribute, RequestContext context, IDictionary`2 dynamicValues, RouteData data, NameValueCollection postData, NameValueCollection queryString) in C:\agent\_work\86\s\Source\Unify.EventBroker.Web\Controllers\OperationController.cs:line 307
at Unify.Framework.Web.UnifySiteMapProvider`2.UpdateNodeForRequest(TNode node, TNodeAttribute nodeAttribute, RequestContext requestContext, IDictionary`2 dynamicValues, RouteData routeData, NameValueCollection postedData, NameValueCollection queryString) in C:\agent\_work\69\s\Source\Web\Unify.Framework.Web.SiteMap\UnifySiteMapProvider.cs:line 150
at Unify.Framework.Web.UnifySiteMapDynamicTree`2.UpdateParentForRequest(TNode parentNode, RequestContext globalRequestContext, IDictionary`2 dynamicValues, RouteData& childRouteData, NameValueCollection& childPostData, NameValueCollection& childQueryString, MethodInfo& childAction, UpdateNode`2 updateNode) in C:\agent\_work\69\s\Source\Web\Unify.Framework.Web.SiteMap\UnifySiteMapDynamicTree.cs:line 291
at Unify.Framework.Web.UnifySiteMapDynamicTree`2.FindNodeAndUpdateBranch(HttpRequest request, UpdateNode`2 updateNode) in C:\agent\_work\69\s\Source\Web\Unify.Framework.Web.SiteMap\UnifySiteMapDynamicTree.cs:line 222
at System.Web.SiteMapProvider.FindSiteMapNode(HttpContext context)
at System.Web.SiteMapProvider.get_CurrentNode()
at Unify.Framework.Web.UnifySiteMapExtensions.DecorateForm(HtmlHelper htmlHelper, Func`1 form, String submitText, String formId, String title, String name) in C:\agent\_work\69\s\Source\Web\Unify.Framework.Web.SiteMap\UnifySiteMapExtensions.cs:line 50
at ASP._Page_Views_Operation_CreatePlugInOperation_cshtml.Execute() in c:\Program Files\UNIFY Solutions\Event Broker\Web\Views\Operation\CreatePlugInOperation.cshtml:line 16
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
at System.Web.WebPages.StartPage.ExecutePageHierarchy()
at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass1e.b__1b(IAsyncResult asyncResult)

There are no additional logs produced in the application log or the even viewer logs.

The version of UNIFYNow is v4.0.4. I have checked the other environments and they are not affected by the issues. Any help is greatly appreciated.

Thanks

Answer

IIS was likely caching the object or page, and causing issues. An IIS reset has solved the problem.

0
Not a bug

UNIFYNow logo rendered incorrectly in IE11

Bob Bradley 4 years ago updated 4 years ago 2

The UNIFYNow logo and label is not resizing correctly in IE.

Image 5460

Answer

IIS setup not loading external dependencies correctly, in this case CSS files. Logo displays correctly using the inbuilt web server. Investigation required to determine incorrect IIS configuration.

0
Won't fix

Error when opening web console after upgrade to 4.0.4

Hayden Gray 5 years ago updated by Beau Harrison (Senior Product Software Engineer) 5 years ago 1

HI Guys,

I've recently upgrade UNIFYNow to 4.0.4. When i first did the upgrade the service started fine and the web console would open and I could interact with it. Coming back the next day, the service stops and starts fine but when trying to access the web console a get the following error:

Could not load file or assembly 'Unify.Framework.Collections, Version=5.2.0.0, Culture=neutral, PublicKeyToken=84b9288cb2633de4' or one of its dependencies. The system cannot find the file specified.

Server Error in '/' Application.

Could not load file or assembly 'Unify.Framework.Collections, Version=5.2.0.0, Culture=neutral, PublicKeyToken=84b9288cb2633de4' or one of its dependencies. The system cannot find the file specified.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Unify.Framework.Collections, Version=5.2.0.0, Culture=neutral, PublicKeyToken=84b9288cb2633de4' or one of its dependencies. The system cannot find the file specified.

Source Error:

The source code that generated this unhandled exception can only be shown when compiled in debug mode. To enable this, please follow one of the below steps, then request the URL: 1. Add a "Debug=true" directive at the top of the file that generated the error. Example: <%@ Page Language="C#" Debug="true" %> or: 2) Add the following section to the configuration file of your application: <configuration> <system.web> <compilation debug="true"/> </system.web> </configuration> Note that this second technique will cause all files within a given application to be compiled in debug mode. The first technique will cause only that particular file to be compiled in debug mode. Important: Running applications in debug mode does incur a memory/performance overhead. You should make sure that an application has debugging disabled before deploying into production scenario.


Assembly Load Trace: The following information can be helpful to determine why the assembly 'Unify.Framework.Collections, Version=5.2.0.0, Culture=neutral, PublicKeyToken=84b9288cb2633de4' could not be loaded.

<pre>WRN: Assembly binding logging is turned OFF. To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1. Note: There is some performance penalty associated with assembly bind failure logging. To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog]. </pre>


Stack Trace:

<pre>[FileNotFoundException: Could not load file or assembly 'Unify.Framework.Collections, Version=5.2.0.0, Culture=neutral, PublicKeyToken=84b9288cb2633de4' or one of its dependencies. The system cannot find the file specified.] Unify.Framework.TimingGenerator..ctor() in C:\agent\_work\69\s\Source\Scheduling\Unify.Framework.Scheduling.Timing\TimingGenerator.cs:28 Unify.Framework.Logging.LoggingEngineClient..ctor(ILoggingEngineCollector collector) in C:\agent\_work\69\s\Source\Logging\Unify.Framework.Logging.Engine.Shared\LoggingEngineClient.cs:25 Unify.EventBroker.Web.EventServiceClientInstance.CreateComponent(EndpointAddress serviceEndpointAddress) in C:\agent\_work\86\s\Source\Unify.EventBroker.Web\Extensions\EventServiceClientInstance.cs:56 Unify.EventBroker.Web.EventServiceClientInstance..cctor() in C:\agent\_work\86\s\Source\Unify.EventBroker.Web\Extensions\EventServiceClientInstance.cs:32 [TypeInitializationException: The type initializer for 'Unify.EventBroker.Web.EventServiceClientInstance' threw an exception.] Unify.EventBroker.Web.MvcApplication..ctor() in C:\agent\_work\86\s\Source\Unify.EventBroker.Web\Global.asax.cs:36 ASP.global_asax..ctor() +9 [TargetInvocationException: Exception has been thrown by the target of an invocation.] System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck) +0 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +159 System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache, StackCrawlMark& stackMark) +256 System.Activator.CreateInstance(Type type, Boolean nonPublic) +127 System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, StackCrawlMark& stackMark) +14316525 System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes) +198 System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture) +28 System.Web.HttpRuntime.CreateNonPublicInstance(Type type, Object[] args) +69 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext context) +296 System.Web.HttpApplicationFactory.EnsureAppStartCalled(HttpContext context) +240 System.Web.HttpApplicationFactory.GetApplicationInstance(HttpContext context) +184 System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +597 </pre>


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.36480

Thanks

0
Under review

Operation List Queue Management

Hayden Gray 5 years ago updated 4 years ago 2

Hi Guys,

Just a feature request that I think would bring some useful functionality. I have recently had some scenarios where queued operation lists have execute when the shouldn't have due to the scheduler running throughout a change. Or where I have accidentally queue a long running operation twice. Currently the only way to clear the queue is to restart the service, which then disposes of all other operations that have been queued.

I think it would be beneficial to be able to view and clear specified operations from the operation list queue. Let me know what you think or whether you need any further information.

Thanks,

Hayden

0

Safety Catch plugin

Bob Bradley 5 years ago 0

A new plugin is requested to convert the latest "Safety Catch" PowerShell script into an OOTB plugin for UNIFYNow.  This script is located in DevOps here.

This plugin can then be used as part of an enhanced default configuration wizard - see separate feature request.

0

Revamp of the auto configuration wizard

Bob Bradley 5 years ago 0

The default configuration generated by the auto configuration wizard no longer meets the best practice model I expect of any UNIFYNow deployment - not without a few tweaks to save otherwise time consuming post install configuration.

Changes required include but are not limited to:

  1. Creation of a single global synchronisation operation in lieu of a separate one for each MA, which always starts with the FIM MA if there is one present;
  2. Auto-creating a default run history archive operation list;
  3. Incorporates the option of including a "Safety Catch" concept for each export/import excluding the FIM MA itself.

The above are the main improvements - the latter presumably requiring the bundling of an appropriate version of this script with the product, or a new plugin alternative.