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
Completed

Generate default display name for Operation List Execute operations in Event Broker 3.2

Andrew Silcock 8 years ago updated by anonymous 7 years ago 5

When adding an Operation List Execute to an operation list there is no useful display name generated - such as the name of the operation list. It is necessary to manually override the display name otherwise it just appears as Operation List.

Can this be changed to be like the Run Profile operation where it generates Management Agent: My MA - DIDS as the display name.

E.g. Operation List: <Name of Operation List>



Answer
anonymous 8 years ago

Will be part of the upcoming MIM Event Broker v4.0 release.

0
Fixed

AD Sync Get Changes: Collection was modified

Bob Bradley 8 years ago updated by anonymous 8 years ago 5

Via email with Bob Bradley:

Operation bccdc996-f23b-46a0-87ad-607a093ce096 failed in
operation list with id add13e6e-e8b3-4336-b9aa-b9c62943a855 for the following
reason. This is retry number 0: Unify.Framework.UnifyEngineException: Error in
stored values engine attempting to write to storage, see the inner exception.
---> System.InvalidOperationException: Collection was modified; enumeration
operation may not execute.
   at System.Collections.Generic.Dictionary`2.Enumerator.MoveNext()
   at WriteArrayOfKeyValueOfGroupedNameValueCollectionKeyanyType70DdoCVIToXml(XmlWriterDelegator, Object , XmlObjectSerializerWriteContext , CollectionDataContract )
   at System.Runtime.Serialization.CollectionDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, Boolean verifyKnownType, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithXsiType(XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle objectTypeHandle, Type objectType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle, Type declaredType)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
   at WriteStoredValueCollectionToXml(XmlWriterDelegator , Object , XmlObjectSerializerWriteContext , ClassDataContract )
   at System.Runtime.Serialization.ClassDataContract.WriteXmlValue(XmlWriterDelegator xmlWriter, Object obj, XmlObjectSerializerWriteContext context)
   at System.Runtime.Serialization.DataContractSerializer.InternalWriteObjectContent(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.DataContractSerializer.InternalWriteObject(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(XmlWriterDelegator writer, Object graph, DataContractResolver dataContractResolver)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(XmlDictionaryWriter writer, Object graph)
   at System.Runtime.Serialization.XmlObjectSerializer.WriteObject(Stream stream, Object graph)
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.<>c__DisplayClass14_0.<SaveStoredValuesCollection>b__0()
   at Unify.Framework.ExtensionMethods.WaitOnMutex(Mutex mutex, Action work)
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.SaveStoredValuesCollection(IStoredValueCollection storedValueCollection)
   --- End of inner exception stack trace ---
   at Unify.Framework.StoredValues.IsolatedStoredValuesEngineBase.SaveStoredValuesCollection(IStoredValueCollection storedValueCollection)
   at Unify.Product.EventBroker.ADSyncChangesPlugIn.GetChanges(DirectorySearcher searcher)
   at Unify.Product.EventBroker.ADChangesPlugInBase.Check()
   at Unify.Product.EventBroker.OperationListExecutorBase.RunCheck(ICheckOperationFactoryInformation checkOperation)<span></span>
Answer
anonymous 8 years ago

Fix to be included in Event Broker v4.0.

0
Completed

Event Broker 3.2 runs disabled operation list

Andrew Silcock 8 years ago updated by anonymous 7 years ago 3

When there are two operations lists in Event Broker, e.g. Operation List (OL) A includes a step to run Operation List B. When OL A is enabled however OL B is disabled, OL B is still run by OL A. I would have expected the disabled status of OL B to be honoured.

Answer
anonymous 7 years ago

Good idea, thanks Andrew.

0
Not a bug

Event Broker 3.2 RestAPIAgentSendRequestFailedException error running IDB 5.1 Connector

Andrew Silcock 8 years ago updated by anonymous 7 years ago 5

Running an Identity Broker connector from Identity Broker (Import All) - the connector import is started however the error below appears after approx. 90 secs resulting in the Operation List being terminated prematurely - the Connector import however continues running in the background.


Operation 35db6bcb-6055-42e2-8e0d-e8e9f922929b failed in operation list with id 8b481868-b4da-4712-84ad-80bc959cf111 for the following reason. This is retry number 0: Unify.Product.EventBroker.RestAPIAgentSendRequestFailedException: The sending of the request failed. See the inner exception for more information. ---> 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.Product.EventBroker.RestAPIAgent.<SendPostRequestAsync>d__3.MoveNext()
--- End of inner exception stack trace ---
at Unify.Product.EventBroker.RestAPIPlugIn.Execute()
at Unify.Product.EventBroker.OperationListExecutorBase.RunNextOperations(IEnumerator`1 operationEnumerator)


Answer
anonymous 7 years ago

Closing as no further information provided.

0
Not a bug

Cannot find an object with identity: 'none'

Matthew Woolnough 8 years ago updated by anonymous 8 years ago 1

Receiving the following errors when EvB attempts to run an operation.


20160824,01:17:38,UNIFY FIM Event Broker,Logging Engine,Information,Log file started.,Minimal20160824,01:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,03:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,05:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,05:44:34,UNIFY FIM Event Broker,Operations,Error,"Operation abc6ccb0-3d9b-44ed-aab5-8acb839dc9db failed in operation list with id 812f51cd-cab4-47fc-afcd-713e1d51b6dc for the following reason. This is retry number 0: System.Runtime.Remoting.ServerException: Operation for management agent with id fb727b8b-d927-4124-80ad-f0f73ed7df84 with name FIFS failed with result stopped-user-termination-from-wmi-or-ui
at Unify.Product.EventBroker.FIMAgent.ExecuteRunProfile(IStoredValueCollection storedValuesCollection, Guid agentId, Guid managementAgentId, Guid runProfileId)
at Unify.Product.EventBroker.RunProfilePlugIn.Execute()
at Unify.Product.EventBroker.OperationListExecutorBase.RunNextOperations(IEnumerator`1 operationEnumerator)",Normal
20160824,05:44:38,UNIFY FIM Event Broker,Operations,Error,"Operation cd255717-52a1-4ba7-bfd0-394abc7fdd1d failed in operation list with id 812f51cd-cab4-47fc-afcd-713e1d51b6dc for the following reason. This is retry number 0: System.Runtime.Remoting.ServerException: Operation for management agent with id fb727b8b-d927-4124-80ad-f0f73ed7df84 with name E failed with result stopped-user-termination-from-wmi-or-ui
at Unify.Product.EventBroker.FIMAgent.ExecuteRunProfile(IStoredValueCollection storedValuesCollection, Guid agentId, Guid managementAgentId, Guid runProfileId)
at Unify.Product.EventBroker.RunProfilePlugIn.Execute()
at Unify.Product.EventBroker.OperationListExecutorBase.RunNextOperations(IEnumerator`1 operationEnumerator)",Normal
20160824,05:44:43,UNIFY FIM Event Broker,Operations,Error,"Operation 682e1c97-8044-47c7-b4b0-88da5c57c8e1 failed in operation list with id 812f51cd-cab4-47fc-afcd-713e1d51b6dc for the following reason. This is retry number 0: System.Management.Automation.CmdletInvocationException: Cannot find an object with identity: 'none' under: 'DC=corp,DC=DomainName,DC=gov,DC=au'. ---> Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException: Cannot find an object with identity: 'none' under: 'DC=corp,DC=DomainName,DC=gov,DC=au'.
at Microsoft.ActiveDirectory.Management.Commands.ADFactoryUtil.GetObjectFromIdentitySearcher(ADObjectSearcher searcher, ADEntity identityObj, String searchRoot, AttributeSetRequest attrs, CmdletSessionInfo cmdletSessionInfo, String[]& warningMessages)
at Microsoft.ActiveDirectory.Management.Commands.ADFactory`1.GetExtendedObjectFromIdentity(T identityObj, String identityQueryPath, ICollection`1 propertiesToFetch, Boolean showDeleted)
at Microsoft.ActiveDirectory.Management.Commands.ADGetCmdletBase`3.ADGetCmdletBaseProcessCSRoutine()
at Microsoft.ActiveDirectory.Management.CmdletSubroutinePipeline.Invoke()
at Microsoft.ActiveDirectory.Management.Commands.ADCmdletBase`1.ProcessRecord()
--- End of inner exception stack trace ---
at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
at System.Management.Automation.RunspaceInvoke.Invoke(String script, IEnumerable input, IList& errors)
at Unify.Product.EventBroker.PowerShellScriptPlugInBase.ExecuteScript()
at Unify.Product.EventBroker.PowerShellScriptPlugIn.Execute()
at Unify.Product.EventBroker.OperationListExecutorBase.RunNextOperations(IEnumerator`1 operationEnumerator)",Normal
20160824,07:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,09:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,11:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,13:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,14:05:05,UNIFY FIM Event Broker,Operations,Error,"Operation 682e1c97-8044-47c7-b4b0-88da5c57c8e1 failed in operation list with id 812f51cd-cab4-47fc-afcd-713e1d51b6dc for the following reason. This is retry number 0: System.Management.Automation.CmdletInvocationException: Cannot find an object with identity: 'none' under: 'DC=corp,DC=DomainName,DC=gov,DC=au'. ---> Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException: Cannot find an object with identity: 'none' under: 'DC=corp,DC=DomainName,DC=gov,DC=au'.
at Microsoft.ActiveDirectory.Management.Commands.ADFactoryUtil.GetObjectFromIdentitySearcher(ADObjectSearcher searcher, ADEntity identityObj, String searchRoot, AttributeSetRequest attrs, CmdletSessionInfo cmdletSessionInfo, String[]& warningMessages)
at Microsoft.ActiveDirectory.Management.Commands.ADFactory`1.GetExtendedObjectFromIdentity(T identityObj, String identityQueryPath, ICollection`1 propertiesToFetch, Boolean showDeleted)
at Microsoft.ActiveDirectory.Management.Commands.ADGetCmdletBase`3.ADGetCmdletBaseProcessCSRoutine()
at Microsoft.ActiveDirectory.Management.CmdletSubroutinePipeline.Invoke()
at Microsoft.ActiveDirectory.Management.Commands.ADCmdletBase`1.ProcessRecord()
--- End of inner exception stack trace ---
at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
at System.Management.Automation.RunspaceInvoke.Invoke(String script, IEnumerable input, IList& errors)
at Unify.Product.EventBroker.PowerShellScriptPlugInBase.ExecuteScript()
at Unify.Product.EventBroker.PowerShellScriptPlugIn.Execute()
at Unify.Product.EventBroker.OperationListExecutorBase.RunNextOperations(IEnumerator`1 operationEnumerator)",Normal
20160824,15:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,17:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,18:19:00,UNIFY FIM Event Broker,Operations,Warning,The operation list of name Home Drive provisioning with id bb45e338-6945-4a18-9d04-0040444ce173 is disabled. As such it cannot be run.,Normal
20160824,19:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,21:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160824,23:17:38,UNIFY FIM Event Broker,Agent Engine,Information,Scheduled job to perform a FIMAgentRefreshRequest on agent FIM Agent succeeded.,Normal
20160825,00:00:04,UNIFY FIM Event Broker,Logging Engine,Information,Log file completed.,Minimal
Answer
anonymous 8 years ago

Hi Matthew,


This is a bug with the PowerShell script. Please check there.


Thanks.

0
Answered

Subsequent EvB Operations do not wait for PowerShell Script Operations to complete before start

Matthew Woolnough 8 years ago updated by anonymous 8 years ago 5

Scenario: Run Profile Operation, followed by a PowerShell Script Operation, followed by a Run Profile Operation;


The Run Profile Operation is executed, Success/Failure is evaluated, PowerShell command then runs. The 2nd Run Profile Operation appears to occur immediately, without a wait for the PowerShell operation to complete. There does not appear to be any evaluation of if it was Success/Fail.



Answer
anonymous 8 years ago

Hi Matt,


I'm not the best at PowerShell but as I understand it, your script is a Pipeline script (i.e. it defines BEGIN, PROCESS and END), and as such is inappropriate for use as an operation (which isn't part of a pipeline).

0
Not a bug

Event Broker 3.2 check changes errors with Identity Broker 5.1 RC

Andrew Silcock 8 years ago updated by anonymous 8 years ago 4

I've upgraded IDB5.0.4 to 5.1 RC in the TAFE development environment and it now appears that the Event Broker 3.2 IDB Check Changes functionality no longer works.


Getting the following errors:


Operation faulted: The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate'. - Please see the log viewer for more details.

An error occured when attempting to execute a function against the agent with the id 0c78b1fa-7b21-435c-b374-537221a38db4:
System.ServiceModel.Security.MessageSecurityException: The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Negotiate'. ---> System.Net.WebException: The remote server returned an error: (401) Unauthorized.
at System.Net.HttpWebRequest.GetResponse()
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
--- End of inner exception stack trace ---

Server stack trace:
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateAuthentication(HttpWebRequest request, HttpWebResponse response, WebException responseException, HttpChannelFactory`1 factory)
at System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory`1 factory, WebException responseException, ChannelBinding channelBinding)
at System.ServiceModel.Channels.HttpChannelFactory`1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout)
at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at IIdentityServiceCollector.GetAllAdapters(GetAllAdaptersRequest request)
at Unify.Product.EventBroker.IdentityBroker41Communicator.GetAllAdapters()
at Unify.Product.EventBroker.AgentRequestResponseEngine.IdBAgentGetAdapterNamesRequestAction(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentRequestResponseEngine.ExecuteRequest(IAgent agent, XElement details, Guid agentId)
at Unify.Product.EventBroker.AgentEngineRepository.ExecuteAgainstAgent(Guid agentId, XElement details)
at Unify.Product.EventBroker.AgentEngine.ExecuteAgainstAgent(Guid agentId, XElement details)
at Unify.Product.EventBroker.AgentEngineLoggingDecorator.ExecuteAgainstAgent(Guid agentId, XElement details)
Answer
anonymous 8 years ago

If that works, can you then try reverting the above change and then instead editing an element in %EB Install Directory%\Services\Unify.Service.Event.exe.config


Under configuration > system.serviceModel > bindings > basicHttpBinding > binding [name="IdentityBroker4Binding"]


change to the below

<security mode="TransportCredentialOnly">...</security>

and inside that

<transport clientCredentialType="Windows"/>
0
Declined

Azure AD check operation

Bob Bradley 8 years ago updated by Matthew Davis (Technical Product Manager) 1 year ago 5

When a FIM Event Broker configuration includes an incoming operation list for the WAAD (OOTB Windows Azure AD) connector, a check operation is required which can be used to poll AAD for changes.

Answer

Closing as UNIFYNow is in maintenance mode, so no feature requests are currently slated.

0
Answered

Expected Behavior around polling incorrect credentials on AD Agents

Richard Green 8 years ago updated by anonymous 8 years ago 3

Hi Gents,


We've had an issue in PROD at DET - essentially as part of a new deployment, EVB configuration from DEV was deployed, the service started and then left for a period with the scheduler in a paused/stopped state. The credentials for the agents were not updated at that time.


In this case, the credentials on a bunch of the AD agents used the same account names as in DEV but (obviously) different passwords. Also DET has an across the board policy on service accounts including lockouts.


As such, after running in this state for a while, we discovered that the AD service accounts in-use had become locked out/disabled. Unfortunately for us, one of those accounts was also shared by the VIS service which ended in a number of outages :(


What we're asking however, is this expected behavior of the Agent? What is the polling interval between credential checks? And should this be reviewed (perhaps something like if the last 1-2 checks failed, don't poll again until the agent is updated) or should polling be performed at all?

Answer
anonymous 8 years ago

Hi Richard,


Yes, this is expected behaviour. The scheduler stops operation lists from being executed; it does not stop everything (as EB has numerous schedules that are required for its operation, as well as actions that occur at startup to ensure that locally cached information is correct).


Would following best practice and keeping services accounts mapped to single applications solve this particular problem? Or, if EB was desired to be stopped completely, couldn't the service have been stopped? Or would you feel there'd be some benefit to us looking at evaluating what is and isn't stopped when the scheduler is stopped?


Thanks.

0
Completed

Reinstate Operation List Play Button

Bob Bradley 8 years ago updated by anonymous 7 years ago 7

In the upgrade to version 3.2 we lost the green play button that appears against each Operation List on the dashboard - in favour of a consolidated "Actions" button. While I understand that this helps in context sensitive operations (e.g. Execute not visible while list is executing) I find that during testing in particular it is annoying to have to click twice for just this one thing I do repeatedly - and I'm sure other users of the console would do likewise in an operations context.


This sounds like a very minor change - but I am noticing how annoying it is to have to continually do this - so I figure it must be the same for others.

Answer
anonymous 7 years ago

To be addressed in UI rewrite.