You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/app-provisioning/on-premises-ecma-troubleshoot.md
+58-21Lines changed: 58 additions & 21 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -24,14 +24,26 @@ After you configure the provisioning agent and ECMA host, it's time to test conn
24
24
25
25

26
26
27
-
2. Go to the folder where the ECMA host was installed by selecting **Troubleshooting** > **Scripts** > **TestECMA2HostConnection**. Run the script. This script sends a SCIM GET or POST request to validate that the ECMA Connector Host is operating and responding to requests. It should be run on the same computer as the ECMA Connector Host service itself.
27
+
2. Check that the ECMA Connector Host service is responding to requests.
28
+
1. On the server with the agent installed, launch PowerShell.
29
+
1. Change to the folder where the ECMA host was installed, such as `C:\Program Files\Microsoft ECMA2Host`.
30
+
1. Change to the subdirectory `Troubleshooting`.
31
+
1. Run the script `TestECMA2HostConnection.ps1` in that directory. Provide as arguments the connector name and the secret token when prompted.
1. This script sends a SCIM GET or POST request to validate that the ECMA Connector Host is operating and responding to requests. If the output does not show that an HTTP connection was successful, then check that the service is running and that the correct secret token was provided.
39
+
28
40
3. Ensure that the agent is active by going to your application in the Azure portal, selecting **admin connectivity**, selecting the agent dropdown list, and ensuring your agent is active.
29
41
4. Check if the secret token provided is the same as the secret token on-premises. Go to on-premises, provide the secret token again, and then copy it into the Azure portal.
30
42
5. Ensure that you've assigned one or more agents to the application in the Azure portal.
31
43
6. After you assign an agent, you need to wait 10 to 20 minutes for the registration to complete. The connectivity test won't work until the registration completes.
32
-
7. Ensure that you're using a valid certificate. Go to the **Settings** tab of the ECMA host to generate a new certificate.
44
+
7. Ensure that you're using a valid certificate that has not expired. Go to the **Settings** tab of the ECMA host to view the certificate expiration date. If the certificate has expired, click `Generate certificate` to generate a new certificate.
33
45
8. Restart the provisioning agent by going to the taskbar on your VM by searching for the Microsoft Azure AD Connect provisioning agent. Right-click **Stop**, and then select **Start**.
34
-
1. If you continue to see `The ECMA host is currently importing data from the target application` even after restarting the ECMA Connector Host and the provisioning agent, and waiting for the initial import to complete, then you may need to cancel and re-start configuring provisioning to the application in the Azure portal.
46
+
1. If you continue to see `The ECMA host is currently importing data from the target application` even after restarting the ECMA Connector Host and the provisioning agent, and waiting for the initial import to complete, then you may need to cancel and start over configuring provisioning to the application in the Azure portal.
35
47
1. When you provide the tenant URL in the Azure portal, ensure that it follows the following pattern. You can replace `localhost` with your host name, but it isn't required. Replace `connectorName` with the name of the connector you specified in the ECMA host. The error message 'invalid resource' generally indicates that the URL does not follow the expected format.
36
48
37
49
```
@@ -40,13 +52,13 @@ After you configure the provisioning agent and ECMA host, it's time to test conn
40
52
41
53
## Unable to configure the ECMA host, view logs in Event Viewer, or start the ECMA host service
42
54
43
-
To resolve the following issues, run the ECMA host as an admin:
55
+
To resolve the following issues, run the ECMA host configuration wizard as an administrator:
44
56
45
57
* I get an error when I open the ECMA host wizard.
46
58
47
59

48
60
49
-
* I can configure the ECMA host wizard, but I can't see the ECMA host logs. In this case, you need to open the host as an admin and set up a connector end to end. This step can be simplified by exporting an existing connector and importing it again.
61
+
* I can configure the ECMA host wizard, but I can't see the ECMA host logs. In this case, you need to open the ECMA Host configuration wizard as an administrator and set up a connector end to end. This step can be simplified by exporting an existing connector and importing it again.
50
62
51
63

52
64
@@ -57,7 +69,7 @@ To resolve the following issues, run the ECMA host as an admin:
57
69
58
70
## Turn on verbose logging
59
71
60
-
By default, `switchValue` for the ECMA Connector Host is set to `Verbose`. This will emit detailed logging that will help you troubleshoot issues. You can change the verbosity to `Error` if you would like to limit the number of logs emitted to only errors. Wen using the SQL connector without Windows Integrated Auth, we recommend setting the `switchValue` to `Error` as it will ensure that the connection string is not emitted in the logs. In order to change the verbosity to error, please update the `switchValue` to "Error" in both places as shown below.
72
+
By default, `switchValue` for the ECMA Connector Host is set to `Verbose`. This setting will emit detailed logging that will help you troubleshoot issues. You can change the verbosity to `Error` if you would like to limit the number of logs emitted to only errors. Wen using the SQL connector without Windows Integrated Auth, we recommend setting the `switchValue` to `Error` as it will ensure that the connection string is not emitted in the logs. In order to change the verbosity to error, update the `switchValue` to "Error" in both places as shown below.
61
73
62
74
The file location for verbose service logging is C:\Program Files\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.config.
63
75
```
@@ -101,34 +113,59 @@ The file location for wizard logging is C:\Program Files\Microsoft ECMA2Host\Wiz
101
113
## Query the ECMA Host Cache
102
114
103
115
The ECMA Host has a cache of users in your application that is updated according to the schedule you specify in the properties page of the ECMA Host wizard. In order to query the cache, perform the steps below:
116
+
104
117
1. Set the Debug flag to `true`.
105
-
2. Restart the ECMA Host service.
106
-
3. Query this endpoint from the server the ECMA Host is installed on, replacing `{connector name}` with the name of your connector, specified in the properties page of the ECMA Host. `https://localhost:8585/ecma2host_{connectorName}/scim/cache`
107
118
108
-
Please be aware that setting the debug flag to `true` disables authentication on the ECMA Host. You will want to set it back to `false` and restart the ECMA Host service once you are done querying the cache.
119
+
Please be aware that setting the debug flag to `true` disables authentication on the ECMA Host. You will need to set it back to `false` and restart the ECMA Host service once you are done querying the cache.
109
120
110
-
The file location for verbose service logging is C:\Program Files\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.config.
111
-
```
112
-
<?xml version="1.0" encoding="utf-8"?>
113
-
<configuration>
121
+
The file location for verbose service logging is `C:\Program Files\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.config`.
1. Wait for the ECMA Host to connect to the target systems and re-read its cache from each of the connected systems. If there are many users in those connected systems, this import process could take several minutes.
136
+
1. Query this endpoint from the server the ECMA Host is installed on, replacing `{connector name}` with the name of your connector, specified in the properties page of the ECMA Host: `https://localhost:8585/ecma2host_{connectorName}/scim/cache`.
137
+
138
+
1. On the server with the agent installed, launch PowerShell.
139
+
1. Change to the folder where the ECMA host was installed, such as `C:\Program Files\Microsoft ECMA2Host`.
140
+
1. Change to the subdirectory `Troubleshooting`.
141
+
1. Run the script `TestECMA2HostConnection.ps1` in that directory, and provide as arguments the connector name and the `ObjectTypePath` value `cache`. When prompted, type the secret token configured for that connector.
1. This script sends a SCIM GET request to validate that the ECMA Connector Host is operating and responding to requests. If the output does not show that an HTTP connection was successful, then check that the service is running and that the correct secret token was provided.
148
+
149
+
1. Set the Debug flag back to `false` or remove the setting once you are done querying the cache.
150
+
2. Restart the `Microsoft ECMA2Host` service.
151
+
152
+
122
153
## Target attribute is missing
123
154
The provisioning service automatically discovers attributes in your target application. If you see that a target attribute is missing in the target attribute list in the Azure portal, perform the following troubleshooting step:
124
155
125
-
1. Review the **Select Attributes** page of your ECMA host configuration to check that the attribute has been selected to be exposed to the Azure portal.
126
-
1. Ensure that the ECMA host service is turned on.
156
+
1. Review the **Select Attributes** page of your ECMA host configuration to check that the attribute has been selected, so that it will be exposed to the Azure portal.
157
+
1. Ensure that the ECMA host service is running.
127
158
1. Review the ECMA host logs to check that a /schemas request was made, and review the attributes in the response. This information will be valuable for support to troubleshoot the issue.
128
159
129
160
## Collect logs from Event Viewer as a zip file
130
161
131
-
Go to the folder where the ECMA host was installed by selecting **Troubleshooting** > **Scripts**. Run the `CollectTroubleshootingInfo` script as an admin. You can use it to capture the logs in a zip file and export them.
162
+
You can use an included script to capture the event logs in a zip file and export them.
163
+
164
+
1. On the server with the agent installed, right click on PowerShell in the Start menu and select to `Run as administrator`.
165
+
1. Change to the folder where the ECMA host was installed, such as `C:\Program Files\Microsoft ECMA2Host`.
166
+
1. Change to the subdirectory `Troubleshooting`.
167
+
1. Run the script `CollectTroubleshootingInfo.ps1` in that directory.
168
+
1. The script will create a ZIP file in that directory containing the event logs.
132
169
133
170
## Review events in Event Viewer
134
171
@@ -143,13 +180,13 @@ After the ECMA Connector Host schema mapping has been configured, start the serv
143
180
| Error | Resolution |
144
181
| ----------- | ----------- |
145
182
| Could not load file or assembly 'file:///C:\Program Files\Microsoft ECMA2Host\Service\ECMA\Cache\8b514472-c18a-4641-9a44-732c296534e8\Microsoft.IAM.Connector.GenericSql.dll' or one of its dependencies. Access is denied. | Ensure that the network service account has 'full control' permissions over the cache folder. |
146
-
| Invalid LDAP style of object's DN. DN: [email protected]" or `Target Site: ValidByLdapStyle` | Ensure the 'DN is Anchor' checkbox is not checked in the 'connectivity' page of the ECMA host. Ensure the 'autogenerated' checkbox is selected in the 'object types' page of the ECMA host. See [About anchor attributes and distinguished names](on-premises-application-provisioning-architecture.md#about-anchor-attributes-and-distinguished-names) for more information.|
183
+
| Invalid LDAP style of object's DN. DN: [email protected]" or `Target Site: ValidByLdapStyle` | Ensure the 'DN is Anchor' checkbox is not checked in the 'connectivity' page of the ECMA host. Ensure the 'autogenerated' checkbox is selected in the 'object types' page of the ECMA host. For more information, see [About anchor attributes and distinguished names](on-premises-application-provisioning-architecture.md#about-anchor-attributes-and-distinguished-names).|
147
184
148
185
## Understand incoming SCIM requests
149
186
150
187
Requests made by Azure AD to the provisioning agent and connector host use the SCIM protocol. Requests made from the host to apps use the protocol the app supports. The requests from the host to the agent to Azure AD rely on SCIM. You can learn more about the SCIM implementation in [Tutorial: Develop and plan provisioning for a SCIM endpoint in Azure Active Directory](use-scim-to-provision-users-and-groups.md).
151
188
152
-
At the beginning of each provisioning cycle, before performing on-demand provisioning and when doing the test connection, the Azure AD provisioning service generally makes a get-user call for a [dummy user](use-scim-to-provision-users-and-groups.md#request-3) to ensure the target endpoint is available and returning SCIM-compliant responses.
189
+
The Azure AD provisioning service generally makes a get-user call to check for a [dummy user](use-scim-to-provision-users-and-groups.md#request-3) in three situations: at the beginning of each provisioning cycle, before performing on-demand provisioning and when **test connection** is selected. This check ensures the target endpoint is available and returning SCIM-compliant responses to the Azure AD provisioning service.
153
190
154
191
155
192
## How do I troubleshoot the provisioning agent?
@@ -235,9 +272,9 @@ By using Azure AD, you can monitor the provisioning service in the cloud and col
235
272
### I am getting an Invalid LDAP style DN error when trying to configure the ECMA Connector Host with SQL
236
273
By default, the generic SQL connector expects the DN to be populated using the LDAP style (when the 'DN is anchor' attribute is left unchecked in the first connectivity page). In the error message `Invalid LDAP style DN` or `Target Site: ValidByLdapStyle`, you may see that the DN field contains a user principal name (UPN), rather than an LDAP style DN that the connector expects.
237
274
238
-
To resolve this, ensure that **Autogenerated** is selected on the object types page when you configure the connector.
275
+
To resolve this error message, ensure that **Autogenerated** is selected on the object types page when you configure the connector.
239
276
240
-
See [About anchor attributes and distinguished names](on-premises-application-provisioning-architecture.md#about-anchor-attributes-and-distinguished-names) for more information.
277
+
For more information, see [About anchor attributes and distinguished names](on-premises-application-provisioning-architecture.md#about-anchor-attributes-and-distinguished-names).
0 commit comments