Устранение неполадок при локальной подготовке приложения

Устранение проблем с тестовым подключением

После настройки агента подготовки и узла Extensible Connectivity(ECMA) пришло время проверить подключение из службы подготовки Microsoft Entra к агенту подготовки, узлу ECMA и приложению. Чтобы выполнить этот сквозной тест, выберите Тестовое соединение в приложении на портале Azure. Дождитесь 10–20 минут после назначения первоначального агента или изменения агента перед тестированием подключения. Если после этого тестового подключения завершается сбоем, выполните следующие действия по устранению неполадок:

  1. Проверьте, запущены ли агент и узел ECMA.

    1. На сервере с установленным агентом откройте Службы, выбрав Старт>Запуск>Services.msc.

    2. В разделе "Службы" убедитесь, что агент подготовки Microsoft Entra Connect и службы Microsoft ECMA2Host присутствуют и их состояние выполняется.

      Снимок экрана, на котором показано, что служба ECMA запущена.

  2. Убедитесь, что служба узла соединителя ECMA отвечает на запросы.

    1. На сервере с установленным агентом запустите PowerShell.
    2. Перейдите в папку, в которой был установлен узел ECMA, например C:\Program Files\Microsoft ECMA2Host.
    3. Перейдите в подкаталог Troubleshooting.
    4. Запустите скрипт TestECMA2HostConnection.ps1 в этом каталоге. Укажите в качестве аргументов имя соединителя и секретный маркер при появлении запроса.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1
      Supply values for the following parameters:
      ConnectorName: CORPDB1
      SecretToken: ************
      
    5. Этот скрипт отправляет запрос SCIM GET или POST для проверки того, что узел соединителя ECMA работает и отвечает на запросы. Если выходные данные не показывают успешность HTTP-подключения, убедитесь, что служба запущена и указан правильный секретный маркер.
  3. Перейдите к своему приложению на портале Azure, выберите подключение администратора, а затем раскрывающийся список агента и убедитесь, что ваш агент активен.

  4. Проверьте, совпадает ли указанный секретный токен с локальным секретным токеном. Перейдите в локальную среду, снова укажите секретный токен и скопируйте его на портал Azure.

  5. Убедитесь, что вы назначили один или несколько агентов приложению на портале Azure.

  6. После назначения агента вам нужно подождать 10–20 минут до завершения регистрации. Проверку подключения можно произвести только после завершения регистрации.

  7. Убедитесь, что вы используете действительный сертификат, который не истек. Перейдите на вкладку "Параметры " узла ECMA, чтобы просмотреть дату окончания срока действия сертификата. Если срок действия сертификата истек, щелкните Generate certificate , чтобы создать новый сертификат.

  8. Перезапустите агент подготовки, перейдя на панель задач на виртуальной машине, выполнив поиск агента подготовки Microsoft Entra Connect. Щелкните правой кнопкой мыши Стоп, а затем Пуск.

  9. Если вы продолжаете видеть The ECMA host is currently importing data from the target application даже после перезапуска узла соединителя ECMA и агента подготовки и ожидания завершения начального импорта, может потребоваться отменить и начать настройку подготовки приложения в портал Azure.

  10. Предоставляя URL-адрес клиента на портале Azure, убедитесь, что он соответствует следующему шаблону. Вы можете заменить localhost именем узла, но это не обязательно. Замените connectorName именем соединителя, которое вы указали в узле ECMA. Сообщение об ошибке "Недопустимый ресурс" обычно указывает на то, что URL-адрес не соответствует ожидаемому формату.

    https://localhost:8585/ecma2host_connectorName/scim
    
  11. Перейдите в следующую папку, чтобы просмотреть журналы агентов провисонирования: C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace

    1. Если появится следующая ошибка, добавьте учетную запись службы NT SERVICE\AADConnectProvisioningAgent в локальную группу с именем "Пользователи журнала производительности". Это устраняет ошибку исключения "Не удается инициализировать сборщик метрик", позволяя учетной записи получить доступ к нужному разделу реестра: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Unable to initialize metrics collector, exception: 'System.UnauthorizedAccessException: Access to the registry key 'Global' is denied.
  1. При настройке узла ECMA убедитесь, что вы предоставляете сертификат субъекту, который соответствует имени узла сервера Windows Server. Сертификат, созданный узлом ECMA, будет выполняться автоматически, но должен использоваться только для тестирования.
Error code: SystemForCrossDomainIdentityManagementCredentialValidationUnavailable

Details: We received this unexpected response from your application: Received response from Web resource. Resource: https://localhost/Users?filter=PLACEHOLDER+eq+"8646d011-1693-4cd3-9ee6-0d7482ca2219" Operation: GET Response Status Code: InternalServerError Response Headers: Response Content: An error occurred while sending the request. Please check the service and try again.

Отсутствие возможности настройки узла ECMA, просмотра журналов в средстве просмотра событий или запуска службы узла ECMA

Чтобы устранить следующие проблемы, запустите мастер настройки узла ECMA от имени администратора:

  • Возникновение ошибки при открытии мастера узла ECMA.

    Снимок экрана, на котором показана ошибка мастера ECMA.

  • Доступна возможность настройки мастера узла ECMA, но не отображаются журналы узла ECMA. В этом случае необходимо открыть мастер настройки узла ECMA в качестве администратора и настроить конец соединителя. Этот этап можно упростить, экспортировав существующий соединитель и импортировав его снова.

    Снимок экрана, на котором показаны журналы узла.

  • Доступна возможность настройки мастера узла ECMA, но не удается запустить службу узла ECMA.

    Снимок экрана, на котором показана служба узла.

Включение подробного ведения журналов

По умолчанию switchValue для узла соединителя ECMA имеет значение Verbose. Этот параметр выдает подробные журналы, которые помогут устранить неполадки. Чтобы ограничить число выдаваемых записей журналов и получить только сведения об ошибках, можно изменить уровень детализации на Error. Если соединитель SQL используется без встроенной проверки подлинности Windows, рекомендуется задать для параметра switchValue значение Error, так как в этом случае в журналы не будут выводиться строки подключения. Чтобы изменить детализацию на ошибку, обновите switchValue значение "Ошибка" в обоих местах, как показано ниже.

Расположение файла для подробного ведения журнала службы: C:\Program Files\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.config.

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <startup>  
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /> 
    </startup> 
    <appSettings> 
      <add key="Debug" value="true" /> 
    </appSettings> 
    <system.diagnostics> 
      <sources> 
    <source name="ConnectorsLog" switchValue="Error"> 
          <listeners> 
            <add initializeData="ConnectorsLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ConnectorsLog" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack"> 
              <filter type=""/> 
            </add> 
          </listeners> 
        </source> 
        <!-- Choose one of the following switchTrace:  Off, Error, Warning, Information, Verbose --> 
        <source name="ECMA2Host" switchValue="Error"> 
          <listeners>  
            <add initializeData="ECMA2Host" type="System.Diagnos

Расположение файла для ведения журнала мастера: C:\Program Files\Microsoft ECMA2Host\Wizard\Microsoft.ECMA2Host.ConfigWizard.exe.config.

      <source name="ConnectorsLog" switchValue="Error"> 
        <listeners> 
          <add initializeData="ConnectorsLog" type="System.Diagnostics.EventLogTraceListener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ConnectorsLog" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack"> 
            <filter type=""/> 
          </add> 
        </listeners> 
      </source> 
      <!-- Choose one of the following switchTrace:  Off, Error, Warning, Information, Verbose --> 
      <source name="ECMA2Host" switchValue="Error"> 
        <listeners> 
          <add initializeData="ECMA2Host" type="System.Diagnostics.EventLogTraceListener, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" name="ECMA2HostListener" traceOutputOptions="LogicalOperationStack, DateTime, Timestamp, Callstack" /> 

Запрос к кэшу узла ECMA

Узел ECMA содержит кэш пользователей вашего приложения, который обновляется по расписанию, которое вы можете настроить на странице свойств в мастере узлов ECMA. Чтобы выполнить запрос к этому кэшу, выполните следующие действия.

  1. Установите флаг Debug (Отладка) в состояние true.

    Обратите внимание, что установка флага отладки в положение true отключает проверку подлинности на узле ECMA. После выполнения запроса к кэшу необходимо false настроить и перезапустить службу узла ECMA.

    Расположение файла для подробного ведения журнала C:\Program Files\Microsoft ECMA2Host\Service\Microsoft.ECMA2Host.Service.exe.configслужб.

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
       <startup>  
           <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" /> 
       </startup> 
       <appSettings> 
         <add key="Debug" value="true" /> 
       </appSettings> 
    
    
  2. Перезапустите службу Microsoft ECMA2Host .

  3. Дождитесь подключения узла ECMA к целевым системам и повторно считывайте его кэш из каждой подключенной системы. Если в подключенных системах много пользователей, этот процесс импорта может занять несколько минут.

  4. Запросите эту конечную точку с сервера, на котором установлен узел ECMA, заменив {connector name} имя соединителя, указанное на странице свойств узла ECMA: https://localhost:8585/ecma2host_{connectorName}/scim/cache

    1. На сервере с установленным агентом запустите PowerShell.
    2. Перейдите в папку, в которой был установлен узел ECMA, например C:\Program Files\Microsoft ECMA2Host.
    3. Перейдите в подкаталог Troubleshooting.
    4. Запустите скрипт TestECMA2HostConnection.ps1 в этом каталоге и укажите в качестве аргументов имя соединителя и ObjectTypePath значение cache. При появлении запроса введите секретный маркер, настроенный для этого соединителя.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1 -ConnectorName CORPDB1 -ObjectTypePath cache
      Supply values for the following parameters:
      SecretToken: ************
      
    5. Этот скрипт отправляет запрос SCIM GET, чтобы убедиться, что узел соединителя ECMA работает и отвечает на запросы. Если выходные данные не показывают успешность HTTP-подключения, убедитесь, что служба запущена и указан правильный секретный маркер.
  5. Задайте для флага отладки значение false или удалите параметр после завершения запроса к кэшу.

  6. Перезапустите службу Microsoft ECMA2Host .

Отсутствие целевого атрибута

Служба подготовки автоматически обнаруживает атрибуты в вашем целевом приложении. Если вы видите, что целевой атрибут отсутствует в списке целевых атрибутов на портале Azure, выполните следующий шаг по устранению неполадок:

  1. Просмотрите страницу выбора атрибутов конфигурации узла ECMA, чтобы проверить, выбран ли атрибут, чтобы он был предоставлен портал Azure.
  2. Убедитесь, что запущена служба узла ECMA.
  3. После назначения агентов корпоративному приложению, завершения тестового шага подключения и сохранения учетных данных администратора обновите браузер. Это приведет к тому, что служба подготовки выполняет запрос /schemas и обнаруживает целевые атрибуты.
  4. Просмотрите журналы хоста ECMA, чтобы убедиться, что был сделан запрос /schemas, и проверьте атрибуты в ответе. Эта информация будет полезна для поддержки при устранении проблемы.

Сбор журналов из средства просмотра событий в виде ZIP-файла

Вы можете использовать включенный скрипт для записи журналов событий в ZIP-файле и их экспорта.

  1. На сервере с установленным агентом щелкните правой кнопкой мыши PowerShell в меню и выберите .Run as administrator
  2. Перейдите в папку, в которой был установлен узел ECMA, например C:\Program Files\Microsoft ECMA2Host.
  3. Перейдите в подкаталог Troubleshooting.
  4. Запустите скрипт CollectTroubleshootingInfo.ps1 в этом каталоге.
  5. Скрипт создаст ZIP-файл в этом каталоге, содержащий журналы событий.

Проверка событий в средстве просмотра событий

После настройки сопоставления схемы узла соединителя ECMA запустите службу, чтобы она прослушивала входящие подключения. Затем следите за входящими запросами.

  1. Откройте меню Пуск, введите Просмотр событий и выберите Просмотр событий.
  2. В средстве просмотра событий разверните Журналы приложений и служб и выберите Журналы Microsoft ECMA2Host.
  3. По мере получения изменений узлом соединителя события будут записываться в журнал приложения.

Распространенные ошибки

Ошибка Разрешение
Не удалось загрузить файл или сборку file:///C:\Program Files\Microsoft ECMA2Host\Service\ECMA\Cache\8b514472-c18a-4641-9a44-732c296534e8\Microsoft.IAM.Connector.GenericSql.dll или одну из зависимостей. Отказано в доступе". Убедитесь, что учетная запись сетевой службы имеет разрешения "полный доступ" для папки кэша. Если у учетной записи есть разрешения, но .NET пытается создать копию библиотеки DLL соединителя, может потребоваться добавить библиотеку DLL в глобальный кэш сборок.
Недопустимый стиль LDAP для DN объекта. DN: username@domain.com" или Target Site: ValidByLdapStyle Убедитесь, что флажок "DN является привязкой" не установлен на странице подключения узла ECMA. Убедитесь, что на странице "типы объектов" узла ECMA установлен флажок "автоматически созданный". Дополнительные сведения см. в разделе о атрибутах привязки и различающихся именах.
ExportErrorCustomContinueRun. objectClass: число значений недопустимо для каждого синтаксиса Убедитесь, что сопоставление атрибутов подготовки с objectClass атрибутом содержит только имена классов объектов, распознанных сервером каталогов.

Общие сведения о входящих запросах SCIM

Запросы, сделанные идентификатором Microsoft Entra для агента подготовки и узла соединителя, используют протокол SCIM. Запросы, отправляемые узлом к приложениям, используют совместимый протокол. Запросы от узла к агенту в идентификатор Microsoft Entra зависят от SCIM. Дополнительные сведения о реализации SCIM см. в руководстве по разработке и планированию подготовки конечной точки SCIM в идентификаторе Microsoft Entra.

Служба подготовки Microsoft Entra обычно вызывает вызов get-user для проверки фиктивного пользователя в трех ситуациях: в начале каждого цикла подготовки перед выполнением подготовки по запросу и при выборе тестового подключения . Эта проверка гарантирует, что целевая конечная точка доступна и возвращает ответы, совместимые с SCIM, в службу подготовки Microsoft Entra.

Как мне устранить неполадки с агентом подготовки?

Ниже приведены возможные сценарии ошибок.

Агент не запускается

Может появиться следующее сообщение об ошибке:

"Не удалось запустить агент подготовки Microsoft Entra Connect. Проверьте наличие необходимых разрешений для запуска системных служб".

Эта проблема обычно вызвана групповой политикой, которая не позволила применить разрешения к локальной учетной записи входа службы NT, созданной установщиком (NT SERVICE\AADConnectProvisioningAgent). Эти разрешения необходимы для запуска службы.

Для решения этой проблемы сделайте следующее:

  1. Войдите на сервер, используя учетную запись администратора.
  2. Перейдите на страницу Службы или откройте ее, последовательно выбрав Пуск>Выполнить>Services.msc.
  3. В разделе "Службы" дважды щелкните агент подготовки Microsoft Entra Connect.
  4. На вкладке входа измените значение в поле Эта учетная запись на учетную запись администратора домена, а затем перезапустите службу.

Этот тест проверяет, могут ли агенты взаимодействовать с Azure через порт 443. Откройте браузер и перейдите в предыдущий URL-адрес с сервера, на котором установлен агент.

Истекло время ожидания агента или недействительный сертификат

Это сообщение может появиться при попытке регистрации агента.

Снимок экрана, показывающий, что время ожидания агента истекло.

Обычно эта проблема связана с тем, что агент не может подключиться к гибридной службе удостоверений и требует настройки прокси-сервера HTTP. Чтобы устранить эту проблему, настройте исходящий прокси-сервер.

Агент подготовки поддерживает использование исходящего прокси-сервера. Его можно настроить, изменив файл конфигурации агента C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\AADConnectProvisioningAgent.exe.config. Добавьте следующие строки в конце файла непосредственно перед закрывающим тегом </configuration>. Замените переменные [proxy-server] и [proxy-port] значениями имени прокси-сервера и номера порта.

    <system.net>
        <defaultProxy enabled="true" useDefaultCredentials="true">
            <proxy
                usesystemdefault="true"
                proxyaddress="http://[proxy-server]:[proxy-port]"
                bypassonlocal="true"
            />
        </defaultProxy>
    </system.net>

Сбой регистрации агента с ошибкой безопасности

Это сообщение об ошибке может появиться при установке агента подготовки облака.

Обычно эта проблема вызвана тем, что агент не может выполнить скрипты регистрации PowerShell из-за локальных политик выполнения PowerShell.

Чтобы устранить эту проблему, измените политики выполнения PowerShell на сервере. Необходимо, чтобы политики компьютера и пользователя были заданы как Undefined или RemoteSigned. Эта ошибка возникает, если они заданы как Unrestricted. Дополнительные сведения см. в разделе Политики выполнения PowerShell.

Файлы журналов

По умолчанию агент выдает минимальные сообщения об ошибках и сведения о трассировке стека. Журналы трассировки находятся в папке C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace.

Для сбора дополнительных сведений об устранении неполадок, связанных с агентом, выполните приведенные ниже действия.

  1. Установите модуль PowerShell, как описано в AADCloudSyncTools модуле AADCloudSyncTools PowerShell для облачной синхронизации Microsoft Entra Connect.

  2. Используйте командлет PowerShell Export-AADCloudSyncToolsLogs для сбора данных. Используйте приведенные ниже переключатели для точной настройки сбора данных. Используйте:

    • SkipVerboseTrace, чтобы экспортировать только текущие журналы без записи подробных журналов (значение по умолчанию — false);
    • TracingDurationMins, чтобы указать другую длительность записи (по умолчанию — 3 мин);
    • OutputPath, чтобы указать другой путь для выходных данных (по умолчанию — папка с документами пользователя).

С помощью идентификатора Microsoft Entra можно отслеживать службу подготовки в облаке и собирать журналы в локальной среде. Служба обеспечения создает журналы для каждого пользователя, который был оценен как часть процесса синхронизации. Эти журналы можно использовать с помощью пользовательского интерфейса портала Azure, API-интерфейсов и аналитики журналов. Узел ECMA также генерирует журналы в локальной среде. В нем показаны все запросы на подготовку, полученные и отправленные в идентификатор Microsoft Entra ID.

Установка агента не удалась

  • Ошибка System.ComponentModel.Win32Exception: The specified service already existsуказывает на то, что предыдущий узел ECMA был неудачно удален. Удалите ведущее приложение. Перейдите к программным файлам и удалите папку узла ECMA. Вы можете сохранить файл конфигурации в целях резервного копирования.

  • Приведенная ниже ошибка означает, что предварительное требование не было выполнено. Убедитесь, что у вас установлен .NET 4.7.1.

      Method Name : <>c__DisplayClass0_1 : 
      RegisterNotLoadedAssemblies Error during load assembly: System.Management.Automation.resources.dll
      --------- Outer Exception Data ---------
      Message: Could not load file or assembly 'file:///C:\Program Files\Microsoft ECMA2Host\Service\ECMA\System.Management.Automation.resources.dll' or one of its dependencies. The system cannot find the file specified.
    
    

При попытке настроить узел соединителя ECMA с помощью SQL возникает ошибка DN недопустимого стиля LDAP

По умолчанию универсальный соединитель SQL ожидает заполнение DN с помощью стиля LDAP (если атрибут DN является привязкой) не установлен на первой странице подключения. В сообщении Invalid LDAP style DN об ошибке или Target Site: ValidByLdapStyleвы увидите, что поле DN содержит имя участника-пользователя (UPN), а не DN стиля LDAP, которое ожидает соединитель.

Чтобы устранить это сообщение об ошибке, убедитесь, что автогенерация выбрана на странице типов объектов при настройке соединителя.

Дополнительные сведения см. в разделе о атрибутах привязки и различающихся именах.

Следующие шаги