Rozwiązywanie problemów z aprowizowaniem aplikacji lokalnych
Rozwiązywanie problemów z połączeniem testowym
Po skonfigurowaniu agenta aprowizacji i hosta extensible Connectivity (ECMA) nadszedł czas, aby przetestować łączność 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:
Sprawdź, czy agent i host ECMA są uruchomione:
Na serwerze z zainstalowanym agentem otwórz plik Services, przechodząc do sekcji Uruchom>>usług.msc.
W obszarze Usługi upewnij się, że program Microsoft Entra Connect Provisioning Agent i usługi Microsoft ECMA2Host są obecne, a ich stan to Uruchomione.
Sprawdź, czy usługa hosta łącznika ECMA odpowiada na żądania.
- Na serwerze z zainstalowanym agentem uruchom program PowerShell.
- Przejdź do folderu, w którym zainstalowano hosta ECMA, na przykład
C:\Program Files\Microsoft ECMA2Host
. - Przejdź do podkatalogu
Troubleshooting
. - 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: ************
- Ten skrypt wysyła żądanie GET lub POST SCIM, aby sprawdzić, czy host łącznika ECMA 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.
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.
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.
Upewnij się, że do aplikacji w witrynie Azure Portal przypisano co najmniej jednego agenta.
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.
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.Uruchom ponownie agenta aprowizacji, przechodząc do paska zadań na maszynie wirtualnej, wyszukując agenta aprowizacji Microsoft Entra Connect. Kliknij prawym przyciskiem myszy pozycję Zatrzymaj, a następnie wybierz polecenie Uruchom.
Jeśli po ponownym uruchomieniu hosta łącznika ECMA i agenta aprowizacji nadal widzisz
The ECMA host is currently importing data from the target application
komunikat , a następnie czekasz na ukończenie początkowego importowania, może być konieczne anulowanie i rozpoczęcie konfigurowania aprowizacji aplikacji w witrynie Azure Portal.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ąpconnectorName
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
Przejdź do następującego folderu, aby przejrzeć dzienniki agenta provisoning: C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace
- Jeśli zostanie wyświetlony następujący błąd, dodaj konto usługi "NT SERVICE\AADConnectProvisioningAgent" 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.
- 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.
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.
Mogę skonfigurować kreatora hosta ECMA, ale nie mogę uruchomić usługi hosta ECMA.
Włączanie pełnego rejestrowania
Domyślnie switchValue
dla hosta łącznika 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:
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 powrotemfalse
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>
Uruchom ponownie usługę
Microsoft ECMA2Host
.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.
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
.- Na serwerze z zainstalowanym agentem uruchom program PowerShell.
- Przejdź do folderu, w którym zainstalowano hosta ECMA, na przykład
C:\Program Files\Microsoft ECMA2Host
. - Przejdź do podkatalogu
Troubleshooting
. - Uruchom skrypt
TestECMA2HostConnection.ps1
w tym katalogu i podaj jako argumenty nazwę łącznikaObjectTypePath
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: ************
- Ten skrypt wysyła żądanie SCIM GET, aby sprawdzić, czy host łącznika ECMA 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.
Ustaw flagę Debuguj z powrotem na
false
lub usuń ustawienie po zakończeniu wykonywania zapytań dotyczących pamięci podręcznej.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:
- Przejrzyj stronę Wybierz atrybuty konfiguracji hosta ECMA, aby sprawdzić, czy atrybut został wybrany, aby był uwidoczniony w witrynie Azure Portal.
- Upewnij się, że usługa hosta ECMA jest uruchomiona.
- 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.
- 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.
- Na serwerze z zainstalowanym agentem kliknij prawym przyciskiem myszy program PowerShell w menu Start i wybierz polecenie
Run as administrator
. - Przejdź do folderu, w którym zainstalowano hosta ECMA, na przykład
C:\Program Files\Microsoft ECMA2Host
. - Przejdź do podkatalogu
Troubleshooting
. - Uruchom skrypt
CollectTroubleshootingInfo.ps1
w tym katalogu. - Skrypt utworzy plik ZIP w tym katalogu zawierający dzienniki zdarzeń.
Przeglądanie zdarzeń w Podgląd zdarzeń
Po skonfigurowaniu mapowania schematu hosta łącznika ECMA uruchom usługę, aby nasłuchiwać połączeń przychodzących. Następnie monitoruj żądania przychodzące.
- Wybierz menu Start, wprowadź podgląd zdarzeń i wybierz pozycję Podgląd zdarzeń.
- W Podgląd zdarzeń rozwiń pozycję Dzienniki aplikacji i usług, a następnie wybierz pozycję Dzienniki ecMA2Host firmy Microsoft.
- 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.Connector.GenericSql.dll" lub jednej 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. Jeśli konto ma uprawnienia, ale platforma .NET próbuje utworzyć kopię biblioteki DLL łącznika, może być konieczne dodanie biblioteki DLL do globalnej pamięci podręcznej zestawów. |
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 Connect 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\AADConnectProvisioningAgent). Te uprawnienia są wymagane do uruchomienia usługi.
Aby rozwiązać ten problem:
- Zaloguj się na serwerze przy użyciu konta administratora.
- Otwórz usługę, przechodząc do niej lub przechodząc do strony Uruchom>>usług.msc.
- W obszarze Usługi kliknij dwukrotnie pozycję Microsoft Entra Connect Provisioning Agent.
- 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.
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 Connect Provisioning Agent\AADConnectProvisioningAgent.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 Connect Provisioning Agent\Trace.
Aby zebrać więcej informacji na temat rozwiązywania problemów związanych z agentem:
AADCloudSyncTools
Zainstaluj moduł programu PowerShell zgodnie z opisem wAADCloudSyncTools
module programu PowerShell na potrzeby synchronizacji z chmurą programu Microsoft Entra Connect.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 łącznika ECMA przy użyciu programu SQL występuje błąd nieprawidłowego identyfikatora DN 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).