Rozwiązywanie problemów z aprowizowaniem aplikacji lokalnych

Rozwiązywanie problemów z połączeniem testowym

Po skonfigurowaniu agenta aprowizacji i hosta extensible Połączenie ivity (ECMA) nadszedł czas na przetestowanie łączności z usługi aprowizacji Firmy Microsoft do agenta aprowizacji, hosta ECMA i aplikacji. Aby wykonać ten kompleksowy test, wybierz pozycję Testuj połączenie w aplikacji w witrynie Azure Portal. Pamiętaj, aby poczekać od 10 do 20 minut po przypisaniu początkowego agenta lub zmianie agenta przed przetestowaniem połączenia. Jeśli po tym czasie testowe połączenie zakończy się niepowodzeniem, spróbuj wykonać następujące kroki rozwiązywania problemów:

  1. Sprawdź, czy agent i host ECMA są uruchomione:

    1. Na serwerze z zainstalowanym agentem otwórz plik Services, przechodząc do sekcji Uruchom>>usług.msc.

    2. W obszarze Usługi upewnij się, że usługa Microsoft Entra Połączenie Provisioning Agent i usługi Microsoft ECMA2Host są obecne, a ich stan to Uruchomione.

      Screenshot that shows that the ECMA service is running.

  2. Sprawdź, czy usługa ecMA Połączenie or host odpowiada na żądania.

    1. Na serwerze z zainstalowanym agentem uruchom program PowerShell.
    2. Przejdź do folderu, w którym zainstalowano hosta ECMA, na przykład C:\Program Files\Microsoft ECMA2Host.
    3. Przejdź do podkatalogu Troubleshooting.
    4. Uruchom skrypt TestECMA2HostConnection.ps1 w tym katalogu. Podaj jako argumenty nazwę łącznika i token tajny po wyświetleniu monitu.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1
      Supply values for the following parameters:
      ConnectorName: CORPDB1
      SecretToken: ************
      
    5. Ten skrypt wysyła żądanie GET lub POST SCIM, aby sprawdzić, czy host ecMA Połączenie or działa i odpowiada na żądania. Jeśli dane wyjściowe nie pokazują, że połączenie HTTP zakończyło się pomyślnie, sprawdź, czy usługa jest uruchomiona i czy podano prawidłowy token tajny.
  3. Upewnij się, że agent jest aktywny, przechodząc do aplikacji w witrynie Azure Portal, wybierając pozycję Łączność administratora, wybierając listę rozwijaną agenta i upewniając się, że agent jest aktywny.

  4. Sprawdź, czy podany token tajny jest taki sam jak token tajny w środowisku lokalnym. Przejdź do środowiska lokalnego, ponownie podaj token tajny, a następnie skopiuj go do witryny Azure Portal.

  5. Upewnij się, że do aplikacji w witrynie Azure Portal przypisano co najmniej jednego agenta.

  6. Po przypisaniu agenta należy poczekać od 10 do 20 minut na ukończenie rejestracji. Test łączności nie będzie działać, dopóki rejestracja nie zostanie ukończona.

  7. Upewnij się, że używasz prawidłowego certyfikatu, który nie wygasł. Przejdź do karty Ustawienia hosta ECMA, aby wyświetlić datę wygaśnięcia certyfikatu. Jeśli certyfikat wygasł, kliknij Generate certificate , aby wygenerować nowy certyfikat.

  8. Uruchom ponownie agenta aprowizacji, przechodząc do paska zadań na maszynie wirtualnej, wyszukując agenta aprowizacji firmy Microsoft Połączenie. Kliknij prawym przyciskiem myszy pozycję Zatrzymaj, a następnie wybierz polecenie Uruchom.

  9. Jeśli po ponownym uruchomieniu usługi ECMA Połączenie or Host i agent aprowizacji będą nadal widoczneThe ECMA host is currently importing data from the target application, a następnie poczekaj na ukończenie początkowego importu, może być konieczne anulowanie i rozpoczęcie konfigurowania aprowizacji aplikacji w witrynie Azure Portal.

  10. Po podaniu adresu URL dzierżawy w witrynie Azure Portal upewnij się, że jest on zgodny z poniższym wzorcem. Możesz zastąpić localhost ciąg nazwą hosta, ale nie jest to wymagane. Zastąp connectorName ciąg nazwą łącznika określonego na hoście ECMA. Komunikat o błędzie "nieprawidłowy zasób" zwykle wskazuje, że adres URL nie jest zgodne z oczekiwanym formatem.

    https://localhost:8585/ecma2host_connectorName/scim
    
  11. Przejdź do następującego folderu, aby przejrzeć dzienniki agenta provisoning: C:\ProgramData\Microsoft\Azure AD Połączenie Provisioning Agent\Trace

    1. Jeśli zostanie wyświetlony następujący błąd, dodaj konto usługi "NT SERVICE\AAD Połączenie ProvisioningAgent" do grupy lokalnej o nazwie "Użytkownicy dziennika wydajności". Eliminuje to błąd wyjątku "Nie można zainicjować modułu zbierającego metryki", zezwalając kontu na dostęp do żądanego klucza rejestru: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Unable to initialize metrics collector, exception: 'System.UnauthorizedAccessException: Access to the registry key 'Global' is denied.
  1. Podczas konfigurowania hosta ECMA upewnij się, że podasz certyfikat z tematem zgodnym z nazwą hosta serwera z systemem Windows. Certyfikat generowany przez hosta ECMA wykona to automatycznie, ale powinien być używany tylko do celów testowych.
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.

Nie można skonfigurować hosta ECMA, wyświetlić dzienniki w Podgląd zdarzeń lub uruchomić usługi hosta ECMA

Aby rozwiązać następujące problemy, uruchom kreatora konfiguracji hosta ECMA jako administrator:

  • Otrzymuję błąd podczas otwierania kreatora hosta ECMA.

    Screenshot that shows an ECMA wizard error.

  • Mogę skonfigurować kreatora hosta ECMA, ale nie widzę dzienników hosta ECMA. W takim przypadku należy otworzyć kreatora konfiguracji hosta ECMA jako administrator i skonfigurować łącznik do końca. Ten krok można uprościć, eksportując istniejący łącznik i importując go ponownie.

    Screenshot that shows host logs.

  • Mogę skonfigurować kreatora hosta ECMA, ale nie mogę uruchomić usługi hosta ECMA.

    Screenshot that shows the host service.

Włączanie pełnego rejestrowania

Domyślnie switchValue dla hosta Połączenie or ECMA jest ustawiona wartość Verbose. To ustawienie spowoduje emitowanie szczegółowego rejestrowania, które pomoże Ci rozwiązać problemy. Można zmienić szczegółowość na Error , jeśli chcesz ograniczyć liczbę dzienników emitowanych tylko do błędów. Wen przy użyciu łącznika SQL bez zintegrowanego uwierzytelniania systemu Windows, zalecamy ustawienie switchValue wartości na Error , ponieważ zapewni to, że parametry połączenia nie jest emitowany w dziennikach. Aby zmienić szczegółowość na błąd, zaktualizuj wartość switchValue na "Błąd" w obu miejscach, jak pokazano poniżej.

Lokalizacja pliku pełnego rejestrowania usługi to 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

Lokalizacja pliku rejestrowania kreatora to 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" /> 

Wykonywanie zapytań względem pamięci podręcznej hosta ECMA

Host ECMA ma pamięć podręczną użytkowników w aplikacji, która jest aktualizowana zgodnie z harmonogramem określonym na stronie właściwości kreatora hosta ECMA. Aby wykonać zapytanie dotyczące pamięci podręcznej, wykonaj poniższe kroki:

  1. Ustaw flagę debugowania na true.

    Należy pamiętać, że ustawienie flagi debugowania w celu true wyłączenia uwierzytelniania na hoście ECMA. Po zakończeniu wykonywania zapytań dotyczących pamięci podręcznej należy ustawić ją z powrotem false na i ponownie uruchomić usługę hosta ECMA.

    Lokalizacja pliku pełnego rejestrowania usługi to 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. Uruchom ponownie usługę Microsoft ECMA2Host .

  3. Poczekaj, aż host ECMA połączy się z systemami docelowymi i ponownie odczytuje pamięć podręczną z każdego z połączonych systemów. Jeśli w tych połączonych systemach istnieje wielu użytkowników, ten proces importowania może potrwać kilka minut.

  4. Wykonaj zapytanie dotyczące tego punktu końcowego z serwera, na którym jest zainstalowany host ECMA, zastępując {connector name} ciąg nazwą łącznika określonym na stronie właściwości hosta ECMA: https://localhost:8585/ecma2host_{connectorName}/scim/cache.

    1. Na serwerze z zainstalowanym agentem uruchom program PowerShell.
    2. Przejdź do folderu, w którym zainstalowano hosta ECMA, na przykład C:\Program Files\Microsoft ECMA2Host.
    3. Przejdź do podkatalogu Troubleshooting.
    4. Uruchom skrypt TestECMA2HostConnection.ps1 w tym katalogu i podaj jako argumenty nazwę łącznika ObjectTypePath i wartość cache. Po wyświetleniu monitu wpisz token tajny skonfigurowany dla tego łącznika.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1 -ConnectorName CORPDB1 -ObjectTypePath cache
      Supply values for the following parameters:
      SecretToken: ************
      
    5. Ten skrypt wysyła żądanie SCIM GET, aby sprawdzić, czy host ecMA Połączenie or działa i odpowiada na żądania. Jeśli dane wyjściowe nie pokazują, że połączenie HTTP zakończyło się pomyślnie, sprawdź, czy usługa jest uruchomiona i czy podano prawidłowy token tajny.
  5. Ustaw flagę Debuguj z powrotem na false lub usuń ustawienie po zakończeniu wykonywania zapytań dotyczących pamięci podręcznej.

  6. Uruchom ponownie usługę Microsoft ECMA2Host .

Brak atrybutu docelowego

Usługa aprowizacji automatycznie odnajduje atrybuty w aplikacji docelowej. Jeśli na liście atrybutów docelowych w witrynie Azure Portal brakuje atrybutu docelowego, wykonaj następujący krok rozwiązywania problemów:

  1. Przejrzyj stronę Wybierz atrybuty konfiguracji hosta ECMA, aby sprawdzić, czy atrybut został wybrany, aby był uwidoczniony w witrynie Azure Portal.
  2. Upewnij się, że usługa hosta ECMA jest uruchomiona.
  3. Po przypisaniu agentów do aplikacji dla przedsiębiorstw ukończenie kroku testu połączenia i zapisanie poświadczeń administratora odśwież przeglądarkę. Spowoduje to wymusie utworzenie żądania /schemas i odnalezienie atrybutów docelowych przez usługę aprowizacji.
  4. Przejrzyj dzienniki hosta ECMA, aby sprawdzić, czy zostało wykonane żądanie /schemas, i przejrzyj atrybuty w odpowiedzi. Te informacje będą przydatne dla pomocy technicznej w celu rozwiązania problemu.

Zbieranie dzienników z Podgląd zdarzeń jako pliku zip

Możesz użyć dołączonego skryptu, aby przechwycić dzienniki zdarzeń w pliku zip i wyeksportować je.

  1. Na serwerze z zainstalowanym agentem kliknij prawym przyciskiem myszy program PowerShell w menu Start i wybierz polecenie Run as administrator.
  2. Przejdź do folderu, w którym zainstalowano hosta ECMA, na przykład C:\Program Files\Microsoft ECMA2Host.
  3. Przejdź do podkatalogu Troubleshooting.
  4. Uruchom skrypt CollectTroubleshootingInfo.ps1 w tym katalogu.
  5. Skrypt utworzy plik ZIP w tym katalogu zawierający dzienniki zdarzeń.

Przeglądanie zdarzeń w Podgląd zdarzeń

Po skonfigurowaniu mapowania schematu hosta Połączenie or ECMA uruchom usługę, aby nasłuchiwać połączeń przychodzących. Następnie monitoruj żądania przychodzące.

  1. Wybierz menu Start, wprowadź podgląd zdarzeń i wybierz pozycję Podgląd zdarzeń.
  2. W Podgląd zdarzeń rozwiń pozycję Dzienniki aplikacji i usług, a następnie wybierz pozycję Dzienniki ecMA2Host firmy Microsoft.
  3. W miarę odbierania zmian przez hosta łącznika zdarzenia będą zapisywane w dzienniku aplikacji.

Typowe błędy

Błąd Rozwiązanie
Nie można załadować pliku lub zestawu "file:///C:\Program Files\Microsoft ECMA2Host\Service\ECMA\Cache\8b514472-c18a-4641-9a44-732c296534e8\Microsoft.IAM. Połączenie or. GenericSql.dll" lub jedną z jego zależności. Odmowa dostępu. Upewnij się, że konto usługi sieciowej ma uprawnienia "pełnej kontroli" nad folderem pamięci podręcznej.
Nieprawidłowy styl LDAP dn obiektu. DN: username@domain.com" lub Target Site: ValidByLdapStyle Upewnij się, że pole wyboru "DN is Anchor" nie jest zaznaczone na stronie "łączność" hosta ECMA. Upewnij się, że pole wyboru "automatycznie wygenerowane" jest zaznaczone na stronie "typy obiektów" hosta ECMA. Aby uzyskać więcej informacji, zobacz About anchor attributes and distinguished names (Informacje o atrybutach kotwicy i nazwach wyróżniających).
ExportErrorCustomContinueRun. objectClass: nieprawidłowa liczba wartości na składnię Upewnij się, że mapowanie atrybutów aprowizacji na objectClass atrybut zawiera tylko nazwy klas obiektów rozpoznawanych przez serwer katalogów.

Opis przychodzących żądań SCIM

Żądania wysyłane przez firmę Microsoft Entra ID do agenta aprowizacji i hosta łącznika używają protokołu SCIM. Żądania wysyłane z hosta do aplikacji używają protokołu obsługiwanego przez aplikację. Żądania od hosta do agenta do identyfikatora Entra firmy Microsoft zależą od protokołu SCIM. Więcej informacji na temat implementacji SCIM można dowiedzieć się w artykule Samouczek: opracowywanie i planowanie aprowizacji punktu końcowego SCIM w usłudze Microsoft Entra ID.

Usługa aprowizacji firmy Microsoft zazwyczaj wykonuje wywołanie get-user w celu sprawdzenia fikcyjnego użytkownika w trzech sytuacjach: na początku każdego cyklu aprowizacji przed wykonaniem aprowizacji na żądanie i po wybraniu testu połączenia . Ta kontrola gwarantuje, że docelowy punkt końcowy jest dostępny i zwraca odpowiedzi zgodne ze standardem SCIM do usługi aprowizacji firmy Microsoft.

Jak mogę rozwiązać problem z agentem aprowizacji?

Mogą wystąpić następujące scenariusze błędów.

Nie można uruchomić agenta

Może zostać wyświetlony komunikat o błędzie informujący o tym, że:

"Nie można uruchomić usługi "Microsoft Entra Połączenie Provisioning Agent". Sprawdź, czy masz wystarczające uprawnienia do uruchamiania usług systemowych".

Ten problem jest zwykle spowodowany przez zasady grupy, które uniemożliwiły stosowanie uprawnień do lokalnego konta logowania usługi NT utworzonego przez instalatora (NT SERVICE\AAD Połączenie ProvisioningAgent). Te uprawnienia są wymagane do uruchomienia usługi.

Aby rozwiązać ten problem:

  1. Zaloguj się na serwerze przy użyciu konta administratora.
  2. Otwórz usługę, przechodząc do niej lub przechodząc do strony Uruchom>>usług.msc.
  3. W obszarze Usługi kliknij dwukrotnie pozycję Microsoft Entra Połączenie Provisioning Agent.
  4. Na karcie Logowanie zmień to konto na administratora domeny. Następnie uruchom ponownie usługę.

Ten test sprawdza, czy agenci mogą komunikować się z platformą Azure za pośrednictwem portu 443. Otwórz przeglądarkę i przejdź do poprzedniego adresu URL z serwera, na którym zainstalowano agenta.

Limit czasu agenta lub certyfikat jest nieprawidłowy

Podczas próby zarejestrowania agenta może zostać wyświetlony następujący komunikat o błędzie.

Screenshot that shows that the agent timed out.

Ten problem zwykle występuje, ponieważ agent nie może nawiązać połączenia z usługą zarządzania tożsamościami hybrydowymi i wymaga skonfigurowania serwera proxy HTTP. Aby rozwiązać ten problem, skonfiguruj serwer proxy ruchu wychodzącego.

Agent aprowizacji obsługuje korzystanie z wychodzącego serwera proxy. Można go skonfigurować, edytując plik konfiguracji agenta C:\Program Files\Microsoft Azure AD Połączenie Provisioning Agent\AAD PołączenieProvisioningAgent.exe.config. Dodaj do niego następujące wiersze na końcu pliku tuż przed tagiem zamykającym</configuration>. Zastąp zmienne [proxy-server] i [proxy-port] wartościami nazwy serwera proxy i portu.

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

Rejestracja agenta kończy się niepowodzeniem z powodu błędu zabezpieczeń

Podczas instalowania agenta aprowizacji w chmurze może zostać wyświetlony komunikat o błędzie.

Ten problem jest zwykle spowodowany tym, że agent nie może wykonać skryptów rejestracji programu PowerShell z powodu lokalnych zasad wykonywania programu PowerShell.

Aby rozwiązać ten problem, zmień zasady wykonywania programu PowerShell na serwerze. Musisz mieć ustawione zasady komputera i użytkownika jako Niezdefiniowane lub RemoteSigned. Jeśli są one ustawione jako Bez ograniczeń, zostanie wyświetlony ten błąd. Aby uzyskać więcej informacji, zobacz Zasady wykonywania programu PowerShell.

Plik dzienników

Domyślnie agent generuje minimalną liczbę komunikatów o błędach i ilość informacji śledzenia stosu. Dzienniki śledzenia można znaleźć w folderze C:\ProgramData\Microsoft\Azure AD Połączenie Provisioning Agent\Trace.

Aby zebrać więcej informacji na temat rozwiązywania problemów związanych z agentem:

  1. AADCloudSyncTools Zainstaluj moduł programu PowerShell zgodnie z opisem w AADCloudSyncTools module programu PowerShell dla usługi Microsoft Entra Połączenie synchronizacji z chmurą.

  2. Export-AADCloudSyncToolsLogs Użyj polecenia cmdlet programu PowerShell, aby przechwycić informacje. Użyj następujących przełączników, aby dostosować zbieranie danych. Użyj:

    • SkipVerboseTrace umożliwia eksportowanie bieżących dzienników tylko bez przechwytywania pełnych dzienników (wartość domyślna = false).
    • TracingDurationMins określa inny czas trwania przechwytywania (wartość domyślna = 3 minuty).
    • OutputPath w celu określenia innej ścieżki wyjściowej (wartość domyślna = dokumenty użytkownika).

Za pomocą identyfikatora Entra firmy Microsoft można monitorować usługę aprowizacji w chmurze i zbierać dzienniki lokalnie. Usługa aprowizacji emituje dzienniki dla każdego użytkownika, który został oceniony w ramach procesu synchronizacji. Te dzienniki można używać za pośrednictwem interfejsu użytkownika, interfejsów API i analizy dzienników w witrynie Azure Portal. Host ECMA generuje również dzienniki lokalne. Przedstawia on każde odebrane żądanie aprowizacji oraz odpowiedź wysłaną do identyfikatora Entra firmy Microsoft.

Instalacja agenta kończy się niepowodzeniem

  • System.ComponentModel.Win32Exception: The specified service already exists Błąd wskazuje, że poprzedni host ECMA nie został odinstalowany pomyślnie. Odinstaluj aplikację hosta. Przejdź do plików programu i usuń folder hosta ECMA. Możesz chcieć zapisać plik konfiguracji na potrzeby kopii zapasowej.

  • Poniższy błąd wskazuje, że nie spełniono wymagań wstępnych. Upewnij się, że masz zainstalowany program .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.
    
    

Podczas próby skonfigurowania hosta usługi ECMA Połączenie or przy użyciu programu SQL występuje błąd dn nieprawidłowego stylu LDAP

Domyślnie ogólny łącznik SQL oczekuje, że nazwa wyróżniająca zostanie wypełniona przy użyciu stylu LDAP (gdy atrybut "DN jest kotwicą" pozostanie niezaznaczony na pierwszej stronie łączności). W komunikacie o błędzie lub Target Site: ValidByLdapStyle, może zostać wyświetlony komunikatInvalid LDAP style DN, że pole DN zawiera główną nazwę użytkownika (UPN), a nie nazwę wyróżniającą stylu LDAP, której oczekuje łącznik.

Aby rozwiązać ten komunikat o błędzie, upewnij się, że podczas konfigurowania łącznika wybrano opcję Automatycznego generowania .

Aby uzyskać więcej informacji, zobacz About anchor attributes and distinguished names (Informacje o atrybutach kotwicy i nazwach wyróżniających).

Następne kroki