This documentation supports the 18.02 version of BMC Digital Workplace. To view the latest version, select the version from the Product version menu.

Active Directory connector

The Microsoft Active Directory connector provides the capability to perform specific operations for users, groups, and computers in Microsoft Active Directory via the LDAP protocol.

The Active Directory connector supports only process workflow capability, and does not support catalog import and resource mapping operations.

External account requirements

You must have an Active Directory user account with sufficient permissions to perform read and write operations into the Active Directory server.

Configuration parameters for  the Active Directory connector

Before you can use the Active Directory connector in workflows, you must configure a connection for Active Directory connector, as described in Configuring service connectors. The following table describes the parameters required to create a connection:

ParameterExamplesDescription
AD Hostadhost.server-1.comActive Directory server host name
AD Port389

Active Directory server LDAP port.

389 is the default port.

Search Basedc=adhost,dc=server-1,dc=comBase directory for search operations
User Domainserver-1.comAuthentication domain
User NamesbadminAuthentication user
PasswordsbP@ssw0rdPassword of authentication user
Certificate path/etc/bmc/ARSystem/LDAPS.cert

The path on of the SSL certificate. It is required only if SSL is used between the Active Directory server and the BMC Digital Workplace Catalog server.

Note: The certificate must be located inside the Docker container.

Active Directory actions overview

The following table provides an overview of all Active Directory connector actions:

Action categoryActionDescriptionInput parametersPossible output
User

Add Active Directory User To Group

Adds a user to a group in the Active Directory.

When a user is added to a group, the following changes are made to the Active Directory:

  • A user profile is updated with a new memberOf attribute record that corresponds to the distinguishedName value of the group to which the user was added
  • A group profile is updated with a new member attribute record that corresponds to the distinguishedName value of the user added to the group

Add Active Directory User To Group input parameters

  • No output
  • An exception

Remove Active Directory User From Group

Removes a user from a group in the Active Directory.

A user and a group records are both updated when an association is removed.

Remove Active Directory User From Group input parameters
  • No output
  • An exception

Find Active Directory User

Finds a user in the Active Directory, and returns the user parameters.

This action searches for the first filtering parameter in the following sequence:

  • Logon Name
  • Distinguished Name
  • Full Name
  • Email

The returned object contains output properties that can be used in later workflow steps.

If a search is performed without filtering parameters, the search will be performed only for the object type: User. If more than one user is found, an error is thrown.

Find Active Directory User input parameters

Update User Attributes

Updates attributes for a user record in the Active Directory. For more details how to build a workflow with this action, see an example workflow for updating user attributes.

Update User Attributes input parameters

  • No output
  • An exception
Computer

Add Computer To Group

Adds a computer to a group in the Active Directory.

A computer and a group record are both updated when an association is created.

When a computer is added to a group, the following changes are made to the Active Directory:

  • A computer profile is updated with a new memberOf attribute record that corresponds to the distinguishedName value of the group to which the computer was added
  • A group profile is updated with a new member attribute record that corresponds to the distinguishedName value of the computer added to the group
Add User To Computer input parameters
  • No output
  • An exception

Computer Is Member of Group

Checks whether a computer belongs to a group.

Computer Is Member of Group input parameters
  • TRUE
  • FALSE

Find Computer

Finds a computer in the Active Director, and returns the computer details.

The returned object contains output properties that can be used in later workflow steps.

Find Computer input parameters

Remove Computer From Group

Removes a computer from a group in the Active Directory.

A computer and a group record are both updated when an association is removed.

Remove Computer From Group input parameters
  • No output
  • An exception

Update Computer Attributes

Updates attributes a computer record in the Active Directory.

Is very similar to Update User Attributes action. For more details how to build a workflow with this action, see an example workflow for updating user attributes.

Update Computer Attributes input parameters
  • No output
  • An exception

Tip

For all actions that return exceptions in case of a negative scenario (incorrect input), the workflow is interrupted, and a corresponding service request is failed with an error. You can catch these exception by using a Boundary Error, and handle them as you need by building alternative paths for your processes. For more details about error handling, see Handling errors in processes.

For all actions that return NULL, TRUE or FALSE, you can use an Exclusive gateway to define the alternative paths for your process. For more details, see example of error handling for Find AD user operation.

Example 1: Workflow for a service that returns a result of the Find Active Directory User operation

The following workflow shows how to configure error handling for a use case when no user is returned as a result of search.

If the queried user is not found, a service request is closed with a message configured in the Error End event:

The catalog administrator receives an in app notification, whether the operation failed or succeeded, which is configured by the Exclusive gateway along with the corresponding messages in the Send In App Notification actions:


 Click here to view JSON of this workflow
{
  "version": null,
  "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
  "lastChangedBy": "hannah_admin",
  "owner": "hannah_admin",
  "name": "myit-sb:Find OK user",
  "tags": null,
  "description": "",
  "overlayGroupId": "TNGADG1AAP0ICAOTTASQOSWU5NGI6P",
  "developerId": null,
  "scope": "BUNDLE",
  "guid": "rx-ccd67777-9b40-4047-aac0-064656a9bfdc",
  "flowElements": [
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.EndEventDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Error",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-8ed4ca1e-11d6-499c-a4b9-79c14022a7a2",
      "event": {
        "resourceType": "com.bmc.arsys.rx.services.process.domain.ErrorEventDefinition",
        "errorRef": "b6169039-d6e6-4c79-b90f-e6aeaafa4724",
        "errorNum": 0,
        "errorType": "BUSINESS_ERROR"
      },
      "label": "Error"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-645464e6-d47d-4d3b-b6fb-f1e534e5822f",
      "sourceNode": "rx-f6bbe35a-bc84-45f3-b00a-039a29961def",
      "targetNode": "rx-0590b5a6-6f75-421d-9fac-e0cf04eec04d",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.EndEventDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "End",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-ef46a1f7-0a55-4e4e-8b75-8089316bb43c",
      "event": null,
      "label": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Not NULL",
      "tags": null,
      "description": "Returns results",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-07edbe8e-e524-4272-85ba-2cdfe49a7747",
      "sourceNode": "rx-06245a85-8439-4880-b832-dbb237c5e660",
      "targetNode": "rx-3063a37b-3742-4d2c-8581-c3d1b76ab96e",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-a29bbf6f-a8a7-4884-84bd-f45bc4e3d7ff",
      "sourceNode": "rx-3063a37b-3742-4d2c-8581-c3d1b76ab96e",
      "targetNode": "rx-ef46a1f7-0a55-4e4e-8b75-8089316bb43c",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-f5651ca7-585d-42cf-85e5-49aaebf93551",
      "sourceNode": "rx-c9670042-4c8f-4d13-9628-9d6c1ec30fea",
      "targetNode": "rx-8ed4ca1e-11d6-499c-a4b9-79c14022a7a2",
      "condition": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Find Active Directory User",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-0590b5a6-6f75-421d-9fac-e0cf04eec04d",
      "multiInstanceLoopDefinition": null,
      "actionTypeName": "com.bmc.myservice.connect.ad:findActiveDirectoryUser",
      "inputMap": [
        {
          "assignTarget": "connectionId",
          "expression": "\"1\""
        },
        {
          "assignTarget": "logonName",
          "expression": "${processContext.Login name}"
        },
        {
          "assignTarget": "distinguishedName",
          "expression": "${processContext.DN name}"
        },
        {
          "assignTarget": "fullName",
          "expression": "${processContext.Full name}"
        },
        {
          "assignTarget": "email",
          "expression": "${processContext.Email}"
        }
      ],
      "outputMap": [
        {
          "assignTarget": "DN name",
          "expression": "${processContext.DN name}"
        }
      ],
      "runAsUser": null,
      "label": "Find Active Directory User"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Is NULL",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-e89d255e-6aea-4f82-8896-d45406954568",
      "sourceNode": "rx-06245a85-8439-4880-b832-dbb237c5e660",
      "targetNode": "rx-c9670042-4c8f-4d13-9628-9d6c1ec30fea",
      "condition": "${activityResults.rx-0590b5a6-6f75-421d-9fac-e0cf04eec04d.output} = $\\NULL$"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.StartEventDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Start",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-f6bbe35a-bc84-45f3-b00a-039a29961def",
      "label": ""
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ExclusiveGatewayDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "condiition",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-06245a85-8439-4880-b832-dbb237c5e660",
      "label": "condiition"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Send In App Notification",
      "tags": null,
      "description": "error",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-c9670042-4c8f-4d13-9628-9d6c1ec30fea",
      "multiInstanceLoopDefinition": null,
      "actionTypeName": "myit-sb:sendInAppNotification",
      "inputMap": [
        {
          "assignTarget": "receiver",
          "expression": "\"hannah_admin\""
        },
        {
          "assignTarget": "title",
          "expression": "\"User not found\""
        },
        {
          "assignTarget": "content",
          "expression": "\"The queried user was not found\""
        }
      ],
      "outputMap": [],
      "runAsUser": null,
      "label": "Send In App Notification"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.ServiceTaskDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Send In App Notification Positive result",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-3063a37b-3742-4d2c-8581-c3d1b76ab96e",
      "multiInstanceLoopDefinition": null,
      "actionTypeName": "myit-sb:sendInAppNotification",
      "inputMap": [
        {
          "assignTarget": "receiver",
          "expression": "\"hannah_admin\""
        },
        {
          "assignTarget": "title",
          "expression": "\"Find AD user\""
        },
        {
          "assignTarget": "content",
          "expression": "${activityResults.rx-0590b5a6-6f75-421d-9fac-e0cf04eec04d.output}"
        }
      ],
      "outputMap": [],
      "runAsUser": null,
      "label": "Send In App Notification Positive result"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.SequenceFlowDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Sequence Flow",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "guid": "rx-5f60b3dc-c0bb-4f59-99bc-89e73be16c77",
      "sourceNode": "rx-0590b5a6-6f75-421d-9fac-e0cf04eec04d",
      "targetNode": "rx-06245a85-8439-4880-b832-dbb237c5e660",
      "condition": ""
    }
  ],
  "inputParams": [
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Email",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870912,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    },
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "DN name",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870913,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    },
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Login name",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870914,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    },
    {
      "resourceType": "com.bmc.arsys.rx.standardlib.record.CharacterFieldDefinition",
      "version": null,
      "lastUpdateTime": "2017-11-13T11:55:47.644+0000",
      "lastChangedBy": "hannah_admin",
      "owner": "hannah_admin",
      "name": "Full name",
      "tags": null,
      "description": "",
      "overlayGroupId": null,
      "developerId": null,
      "id": 536870915,
      "fieldOption": "OPTIONAL",
      "permissions": null,
      "fieldTypeName": "com.bmc.arsys.rx.services.record.domain.DefaultFieldType",
      "isInherited": false,
      "explicitPermissions": null,
      "overlayDescriptor": null,
      "fieldMapping": null,
      "allowPermissionsOverlay": true,
      "allowOtherPropertiesOverlay": true,
      "auditOption": null,
      "maxLength": 0,
      "defaultValue": null,
      "searchDefinition": null,
      "namedListDefinition": null,
      "shouldPersistEncrypted": false,
      "anyUserAllowedToSubmit": false
    }
  ],
  "outputParams": [],
  "localVariables": [],
  "contextKeyParam": null,
  "isEnabled": true,
  "permissions": [
    {
      "ownerId": {
        "value": 1000011,
        "type": "GROUP",
        "name": "sbe-public-computed"
      },
      "type": "EXECUTE"
    }
  ],
  "layout": "{\"cells\":[{\"type\":\"rx.StartEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"start\",\"position\":{\"x\":50,\"y\":375},\"angle\":0,\"id\":\"f6bbe35a-bc84-45f3-b00a-039a29961def\",\"z\":1,\"attrs\":{\".label\":{\"text\":\"\"},\".inner\":{\"visibility\":\"hidden\"}}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Find Active Directory User\",\"position\":{\"x\":160,\"y\":360},\"angle\":0,\"id\":\"0590b5a6-6f75-421d-9fac-e0cf04eec04d\",\"z\":24,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Find Active Directory User\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"645464e6-d47d-4d3b-b6fb-f1e534e5822f\",\"source\":{\"id\":\"f6bbe35a-bc84-45f3-b00a-039a29961def\"},\"target\":{\"id\":\"0590b5a6-6f75-421d-9fac-e0cf04eec04d\"},\"z\":25,\"attrs\":{}},{\"type\":\"rx.ExclusiveGateway\",\"icon\":\"cross\",\"size\":{\"width\":40,\"height\":40},\"position\":{\"x\":315,\"y\":360},\"angle\":0,\"id\":\"06245a85-8439-4880-b832-dbb237c5e660\",\"z\":69,\"attrs\":{\".label\":{\"text\":\"condiition\"},\"image\":{\"xlink:href\":\"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIwLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyNCAyNCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjQgMjQ7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojNjY2NjY2O30KPC9zdHlsZT4KPHBhdGggY2xhc3M9InN0MCIgZD0iTTE0LjIyLDEyTDIyLDE5Ljc4TDE5Ljc4LDIyTDEyLDE0LjIyTDQuMjIsMjJMMiwxOS43OEw5Ljc4LDEyTDIsNC4yMkw0LjIyLDJMMTIsOS43OEwxOS43OCwyTDIyLDQuMjJMMTQuMjIsMTIKCXoiLz4KPC9zdmc+Cg==\"}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"5f60b3dc-c0bb-4f59-99bc-89e73be16c77\",\"source\":{\"id\":\"0590b5a6-6f75-421d-9fac-e0cf04eec04d\"},\"target\":{\"id\":\"06245a85-8439-4880-b832-dbb237c5e660\"},\"z\":70,\"attrs\":{}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Send In App Notification Positive result\",\"position\":{\"x\":405,\"y\":200},\"angle\":0,\"id\":\"3063a37b-3742-4d2c-8581-c3d1b76ab96e\",\"z\":76,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Send In App Notification Positive result\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"Not NULL\"}},\"position\":\"0.5\"}],\"flowType\":\"default\",\"id\":\"07edbe8e-e524-4272-85ba-2cdfe49a7747\",\"source\":{\"id\":\"06245a85-8439-4880-b832-dbb237c5e660\"},\"target\":{\"id\":\"3063a37b-3742-4d2c-8581-c3d1b76ab96e\"},\"z\":77,\"vertices\":[{\"x\":340,\"y\":290}],\"attrs\":{\".marker-source\":{\"d\":\"M 0 5 L 20 5 M 20 0 L 10 10\",\"fill\":\"none\"}}},{\"type\":\"rx.ErrorEndEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"end\",\"icon\":\"errorEnd\",\"position\":{\"x\":565,\"y\":505},\"angle\":0,\"id\":\"8ed4ca1e-11d6-499c-a4b9-79c14022a7a2\",\"z\":81,\"attrs\":{\".label\":{\"text\":\"Error\"},\".outer\":{\"stroke-width\":5},\".inner\":{\"visibility\":\"hidden\"},\"image\":{\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAiCAYAAAA6RwvCAAABzUlEQVRYhe2WzXHCMBCFv2RSgEsgHYQOSAXBFQCXPeMKUgKc9xJSAaQC6AA6wCW4hBwszyiyZEkZxsOBd/LPev3NeyvZ8NCd6mnsF4pIAVyBAnhV1RrgeWwQYG8g6g5idBAR2QAzc3qw740GIiJzYG1d+rbvJ8+IyXYJXFT1lAnxBhxpI8H0mNo1OY4sgQ1wNI1TIQrgy4IAx41ckIV1nAOzAdzag1uUBCIiE6dZkQIjImtaJ22d7NWSBeJpFoURkRmtG656seSALALXvTBmLvaBZ3qxJIGYl0wGSnww9gr5A6Gqja/JSwyEsBsuzF5EpsAn/eHs9BNqkAKyTKiB1rUzYfcaVd2FHh6MxuyGPouHYELyzkYSCPCRARFTMJYUkPnAvToDolHV/zkiIkvCsWyBaQbMLlYw5EgolouqVmYZloB3OTrybmJRELMh+WJpgPfuRFUv5nwIpjZ1+SABCIDS3ZASYKJuDIH4NrEq9B8SgdmlgPR+jMyX9uo2U9VVrFnKD1BIPkfcWC5AldLMcqZTUiwhEDuWBliFPlQRmIrEWMCJxlh7ti6VsY3oVnIdsd3YjgXhA+nm46SqSXNxcxCzWia0c1GOCfHQXesXYhiZ69pK0h4AAAAASUVORK5CYII=\"}}},{\"type\":\"rx.EndEvent\",\"size\":{\"width\":30,\"height\":30},\"eventType\":\"end\",\"position\":{\"x\":565,\"y\":360},\"angle\":0,\"id\":\"ef46a1f7-0a55-4e4e-8b75-8089316bb43c\",\"z\":83,\"attrs\":{\".label\":{\"text\":\"\"},\".outer\":{\"stroke-width\":5},\".inner\":{\"visibility\":\"hidden\"}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"a29bbf6f-a8a7-4884-84bd-f45bc4e3d7ff\",\"source\":{\"id\":\"3063a37b-3742-4d2c-8581-c3d1b76ab96e\"},\"target\":{\"id\":\"ef46a1f7-0a55-4e4e-8b75-8089316bb43c\"},\"z\":84,\"attrs\":{}},{\"type\":\"rx.ProcessAction\",\"size\":{\"width\":90,\"height\":60},\"icon\":\"gear\",\"activityType\":\"task\",\"subProcess\":null,\"content\":\"Send In App Notification\",\"position\":{\"x\":405,\"y\":535},\"angle\":0,\"id\":\"c9670042-4c8f-4d13-9628-9d6c1ec30fea\",\"z\":96,\"attrs\":{\".icon\":{\"ref\":\".outer\",\"ref-dy\":\"\",\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAACXBIWXMAAAsSAAALEgHS3X78AAAAw0lEQVQoz22SwRGCQAxF3zIUQAnSAXSAHUgHcslZK3CswPu/YAeUQAlQgp3oJThhNTM7s8lPfv783UQWZtYAC4CklOMpNE3AAHTAzfErsAIj0EtaSwcm4ADMGeEj3CegLjwZssaXnxgDwDbQREBSLanOiBqAZGbvUFwltZkJSyQssrUrv7GTVrh1V89P7li0uNsck5TKjLkCZjN7en722rdnGxjD1gq4/JE2Rlt719oGeQB34OhY/33pP99jc66VtDPiA3vHNpWAb5BUAAAAAElFTkSuQmCC\"},\".inner\":{\"visibility\":\"hidden\"},\"text\":{\"ref-y\":0.5},\".content\":{\"html\":\"Send In App Notification\",\"title\":\"\"},\".fobj\":{\"width\":90,\"height\":60},\"div\":{\"style\":{\"width\":90,\"height\":60}},\".fobj div\":{\"style\":{\"verticalAlign\":\"middle\",\"paddingTop\":0}},\".outer\":{\"stroke-width\":2,\"stroke-dasharray\":\"none\"},\".sub-process\":{\"d\":\"M 0 0 L 30 0 30 30 0 30 z M 15 4 L 15 26 M 4 15 L 26 15\",\"stroke\":\"#000000\",\"fill\":\"transparent\",\"transform\":\"scale(0.3, 0.3) translate(0, 6)\",\"display\":\"none\",\"visibility\":\"hidden\",\"data-sub-process\":\"\"},\".icon-multi-instance-sequential\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACtJREFUeNpilJOTYaAEsADxf0oMYGKgEFBsAMgLjEPfC6OxMBoLFBsAEGAAje8DgZ8/t18AAAAASUVORK5CYII=\",\"display\":\"none\"},\".icon-multi-instance-parallel\":{\"width\":10,\"height\":10,\"y\":1,\"xlink:href\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACxJREFUeNpilJOT+c+AAIwPHz5mkJeXBbGJEmdioBCMGjBqwKgBg8UAgAADADERCXj6SL6VAAAAAElFTkSuQmCC\",\"display\":\"none\"},\".rx-icon-container\":{\"ref\":\".body\",\"x-alignment\":\"middle\",\"ref-x\":0.5,\"ref-dy\":-15}}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"\"}},\"position\":\"0.5\"}],\"flowType\":\"normal\",\"id\":\"f5651ca7-585d-42cf-85e5-49aaebf93551\",\"source\":{\"id\":\"c9670042-4c8f-4d13-9628-9d6c1ec30fea\"},\"target\":{\"id\":\"8ed4ca1e-11d6-499c-a4b9-79c14022a7a2\"},\"z\":97,\"attrs\":{}},{\"type\":\"rx.SequenceFlow\",\"router\":{\"name\":\"manhattan\"},\"labels\":[{\"attrs\":{\"text\":{\"text\":\"Is NULL\"}},\"position\":\"0.5\"}],\"flowType\":\"conditional\",\"id\":\"e89d255e-6aea-4f82-8896-d45406954568\",\"source\":{\"id\":\"06245a85-8439-4880-b832-dbb237c5e660\"},\"target\":{\"id\":\"c9670042-4c8f-4d13-9628-9d6c1ec30fea\"},\"z\":97,\"vertices\":[{\"x\":340,\"y\":475},{\"x\":335,\"y\":485},{\"x\":340,\"y\":495},{\"x\":340,\"y\":510},{\"x\":345,\"y\":540},{\"x\":345,\"y\":565}],\"attrs\":{\".marker-source\":{\"d\":\"M 20 8 L 10 0 L 0 8 L 10 16 z\",\"fill\":\"#FFF\"}}},{\"type\":\"rx.TextAnnotation\",\"size\":{\"width\":160,\"height\":60},\"wingLength\":20,\"content\":\"The user was found. \\nA service that uses this workflow is closed. \",\"position\":{\"x\":670,\"y\":200},\"angle\":0,\"id\":\"ba88ea93-d9f0-4722-b571-5d5e5ae09c12\",\"z\":110,\"attrs\":{\".stroke\":{\"d\":\"M 20 0 L 0 0 0 60 20 60\"},\".content\":{\"html\":\"The user was found. \\nA service that uses this workflow is closed. \",\"title\":\"\"},\".fobj\":{\"width\":160,\"height\":60},\"div\":{\"style\":{\"width\":160,\"height\":60}}}},{\"type\":\"rx.TextAnnotationAssociation\",\"flowType\":\"association\",\"id\":\"3bf6d6e7-9754-4541-abba-368586635fbe\",\"source\":{\"id\":\"ba88ea93-d9f0-4722-b571-5d5e5ae09c12\"},\"target\":{\"id\":\"ef46a1f7-0a55-4e4e-8b75-8089316bb43c\"},\"z\":111,\"vertices\":[{\"x\":670,\"y\":225}],\"attrs\":{\".marker-target\":{\"d\":\"M 0 0\"},\".connection\":{\"stroke-dasharray\":\"4,4\"}}},{\"type\":\"rx.TextAnnotation\",\"size\":{\"width\":190,\"height\":75},\"wingLength\":20,\"content\":\"A service that uses this workflow is closed with a descriptive error configured in the Error End event.\",\"position\":{\"x\":655,\"y\":640},\"angle\":0,\"id\":\"df9a4e65-178c-4cfc-a872-96dd7fbcbdfd\",\"z\":120,\"attrs\":{\".stroke\":{\"d\":\"M 20 0 L 0 0 0 75 20 75\"},\".content\":{\"html\":\"A service that uses this workflow is closed with a descriptive error configured in the Error End event.\",\"title\":\"\"},\".fobj\":{\"width\":190,\"height\":75},\"div\":{\"style\":{\"width\":190,\"height\":75}}}},{\"type\":\"rx.TextAnnotationAssociation\",\"flowType\":\"association\",\"id\":\"69591be3-34c1-49ed-af1b-d04e00f04c6f\",\"source\":{\"id\":\"df9a4e65-178c-4cfc-a872-96dd7fbcbdfd\"},\"target\":{\"id\":\"8ed4ca1e-11d6-499c-a4b9-79c14022a7a2\"},\"z\":121,\"attrs\":{\".marker-target\":{\"d\":\"M 0 0\"},\".connection\":{\"stroke-dasharray\":\"4,4\"}}}]}",
  "artifacts": [
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.TextAnnotation",
      "guid": "rx-ba88ea93-d9f0-4722-b571-5d5e5ae09c12",
      "text": "The user was found. \nA service that uses this workflow is closed. "
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.TextAnnotation",
      "guid": "rx-df9a4e65-178c-4cfc-a872-96dd7fbcbdfd",
      "text": "A service that uses this workflow is closed with a descriptive error configured in the Error End event."
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.TextAnnotationAssociation",
      "guid": "rx-69591be3-34c1-49ed-af1b-d04e00f04c6f",
      "sourceNode": "rx-df9a4e65-178c-4cfc-a872-96dd7fbcbdfd",
      "targetNode": "rx-8ed4ca1e-11d6-499c-a4b9-79c14022a7a2"
    },
    {
      "resourceType": "com.bmc.arsys.rx.services.process.domain.TextAnnotationAssociation",
      "guid": "rx-3bf6d6e7-9754-4541-abba-368586635fbe",
      "sourceNode": "rx-ba88ea93-d9f0-4722-b571-5d5e5ae09c12",
      "targetNode": "rx-ef46a1f7-0a55-4e4e-8b75-8089316bb43c"
    }
  ],
  "runAsUser": false,
  "synchronous": true,
  "overlayDescriptor": null,
  "allowOverlay": false,
  "localizableStrings": {
    "b6169039-d6e6-4c79-b90f-e6aeaafa4724": "\"The queried user was not found\""
  }
}

For configuration details about this service, save the attached Find AD user.zip, and import it to your environment. 

Example 2: Workflow for a service that updates an attribute of a user

The following workflow example shows how to build a workflow that will update a user attribute in Active Directory:

In this workflow example, the Build Input Set action creates an input parameter mapped to a process input value. An output from this action is sent to the Update Entry Attributes action. The Send In App Notification action is configured to send a notification to the catalog administrator about success of the update operation.

For configuration details about this service, save the attached Update_attribute.zip, and import it to your environment. 

Input and output parameters for actions

The tables in this section describe each workflow action and its significant parameters.

Input parameters for Add Active Directory User To Group and Remove Active Directory User From Group actions 

Both of these actions have the same input parameters described in the following table:

RequiredParameter nameData typeExampleDescription
RequiredConnection IdStringConnection > Connection IDDefault Connection ID for this connector.
RequiredLogon NameString"bob_manager"sAMAccountName attribute of a user to be added or removed from a group.
RequiredGroup NameString"Domain Computers"

CN attribute of a group to be added to the user profile.

Find Active Directory User input parameters

RequiredParameter nameData typeExampleDescription
RequiredConnection IdStringConnection > Connection IDDefault Connection ID for this connector.
At least one of these parameters must be specifiedLogon NameString"bob_manager"sAMAccountName attribute of a queried user.

Distinguished Name

String"CN=Bobbi Baxter,CN=Users,DC=ADServer,DC=local"distinguishedName attribute of a queried user.
Full NameString"Bobbi Baxter"cn attribute of a queried user.
EmailString

"bob@calbroservices.com"

mail attribute of a queried user.

Find Active Directory User output parameters

Parameter nameData typeExample

Attrs

Map<Map of multiple values with keys of string type and values of string type>

Distinguished Name

StringCN=Bobbi Baxter,CN=Users,DC=ADServer,DC=local

Email

Stringbob@calbroservices.com

Enabled

Boolean1

Full Name

StringBobbi Baxter
Logon NameStringbob_manager

Update User Attributes input parameters

RequiredParameter nameData typeExampleDescription
RequiredConnection IdString

Connection > Connection ID

Default Connection ID for this connector.
RequiredAttributes Input SetString

Build Input Set > Inputs

Use the output from the Build Input Set. In the Build Input Set you must create key and value pairs that you want to update as a part of this action.
OptionalDistinguished NameString"CN=Bobbi Baxter,CN=Users,DC=ADServer,DC=local"distinguishedName attribute of a queried user.
OptionalLogon NameString"bob_manager"sAMAccountName attribute of a queried user.
OptionalFull NameString"Bobbi Baxter"cn attribute of a queried user.
OptionalEmailString"bob@calbroservices.com"mail attribute of a queried user.

Input parameters for  Add Computer To Group,  Remove Computer From Group, and  Computer Is Member Of Group actions

All of these actions have the same input parameters described in the following table:

RequiredParameter nameData typeExampleDescription
Required

Connection Id

StringConnection > Connection IDDefault Connection ID for this connector.
Required

Samaccount Name

String"IgorPC"sAMAccountName attribute of an Active Directory computer.
RequiredGroup NameString"Domain Computers"cn attribute of Active Directory group to assign the computer.

Find Computer input parameters

RequiredParameter nameData typeExampleDescription
RequiredConnection IdStringConnection > Connection IDDefault Connection ID for this connector.
At least one of these parameters must be specified


Samaccount NameString"IgorPC"sAMAccountName attribute of Active Directory computer.
Distinguished NameString"CN=IgorPC,CN=Computers,DC=ADServer,DC=local"distinguishedName attribute of an Active Directory computer.
Full NameString"IgorPC"cn attribute of an Active Directory computer.

Find Computer output parameters

Parameter nameData typeExample
AttrsMap<Map of multiple values with keys of type String and values of type String.>

Distinguished Name

StringCN=IgorPC,CN=Computers,DC=ADServer,DC=local

Full Name

StringIgorPC

SamaAccount Name

StringIgorPC

Update Computer Attributes input parameters

RequiredParameter nameData typeExampleDescription
RequiredConnection IdString

Connection > Connection ID

Default Connection ID for this connector.
RequiredAttributes Input SetString

Build Input Set > Inputs

Use the output from the Build Input Set. In the Build Input Set you must create key and value pairs that you want to update as a part of this action.
OptionalDistinguished NameString"CN=IgorPC,CN=Computers,DC=ADServer,DC=local"distinguishedName attribute of a queried computer.
OptionalSamaaccount NameString"IgorPC"sAMAccountName attribute of a queried computer.
OptionalFull NameString"IgorPC"cn attribute of a queried computer.

Reference screenshots

This section includes helpful screenshots about information referenced in this topic.

User record in the Active Directory

Group record in the Active Directory

Computer record in the Active Directory 



Was this page helpful? Yes No Submitting... Thank you

Comments