Memecahkan masalah provisi aplikasi lokal

Memecahkan masalah pengujian koneksi

Setelah Anda mengonfigurasi agen provisi dan host Extensible Koneksi ivity (ECMA), saatnya untuk menguji konektivitas dari layanan provisi Microsoft Entra ke agen provisi, host ECMA, dan aplikasi. Untuk melakukan pengujian ujung-ke-ujung ini, pilih Pengujian koneksi dalam aplikasi di portal Microsoft Azure. Pastikan untuk menunggu 10 hingga 20 menit setelah menetapkan agen awal atau mengubah agen sebelum menguji koneksi. Jika setelah waktu ini koneksi pengujian gagal, coba langkah-langkah pemecahan masalah berikut:

  1. Periksa apakah agen dan host ECMA sedang berjalan:

    1. Di server yang menginstal agen, buka Layanan dengan membuka Mulai>Jalankan>Services.msc.

    2. Di bawah Layanan, pastikan layanan Microsoft Entra Koneksi Provisioning Agent, dan Microsoft ECMA2Host ada dan statusnya Berjalan.

      Screenshot that shows that the ECMA service is running.

  2. Periksa apakah layanan ECMA Koneksi or Host merespons permintaan.

    1. Di server dengan agen terinstal, luncurkan PowerShell.
    2. Ubah ke folder tempat host ECMA diinstal, seperti C:\Program Files\Microsoft ECMA2Host.
    3. Ubah ke subdirektori Troubleshooting.
    4. Jalankan skrip TestECMA2HostConnection.ps1 di direktori tersebut. Berikan sebagai argumen nama konektor dan token rahasia saat diminta.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1
      Supply values for the following parameters:
      ConnectorName: CORPDB1
      SecretToken: ************
      
    5. Skrip ini akan mengirimkan permintaan GET atau POST SCIM untuk memvalidasi bahwa Host Konektor ECMA beroperasi dan merespons permintaan. Jika output tidak menunjukkan bahwa koneksi HTTP berhasil, periksa apakah layanan berjalan dan bahwa token rahasia yang benar disediakan.
  3. Pastikan bahwa agen aktif dengan membuka aplikasi Anda di portal Microsoft Azure, dengan memilih konektivitas admin, kemudian memilih daftar menurun agen, dan memastikan agen Anda aktif.

  4. Periksa apakah token rahasia yang disediakan sama dengan token rahasia lokal. Masuk ke lokal, sediakan token rahasia lagi, lalu salin ke portal Microsoft Azure.

  5. Pastikan Anda telah menetapkan satu atau beberapa agen ke aplikasi di portal Microsoft Azure.

  6. Setelah menetapkan agen, Anda harus menunggu 10 hingga 20 menit sampai pendaftaran selesai. Pengujian konektivitas tidak akan dapat dilakukan sampai pendaftaran selesai.

  7. Pastikan Anda menggunakan sertifikat valid yang belum kedaluwarsa. Buka tab Pengaturan host ECMA untuk melihat tanggal kedaluwarsa sertifikat. Jika sertifikat telah kedaluwarsa, klik Generate certificate untuk membuat sertifikat baru.

  8. Mulai ulang agen provisi dengan masuk ke taskbar di VM Anda dengan mencari agen provisi Microsoft Entra Koneksi. Klik kanan Hentikan, lalu pilih Mulai.

  9. Jika Anda terus melihat The ECMA host is currently importing data from the target application bahkan setelah memulai ulang ECMA Koneksi or Host dan agen provisi, dan menunggu impor awal selesai, maka Anda mungkin perlu membatalkan dan mulai lagi mengonfigurasi provisi ke aplikasi di portal Azure.

  10. Saat menyediakan URL penyewa di portal Microsoft Azure, pastikan URL tersebut mengikuti pola berikut. Anda dapat mengganti localhost dengan nama host Anda, tetapi ini tidak wajib. Ganti connectorName dengan nama konektor yang Anda tentukan di host ECMA. Pesan kesalahan 'sumber daya tidak valid' umumnya menunjukkan bahwa URL tidak mengikuti format yang diharapkan.

    https://localhost:8585/ecma2host_connectorName/scim
    
  11. Navigasi ke folder berikut untuk meninjau log agen provisoning: C:\ProgramData\Microsoft\Azure AD Koneksi Provisioning Agent\Trace

    1. Jika Anda melihat kesalahan berikut, silakan tambahkan akun layanan "NT SERVICE\AAD Koneksi ProvisioningAgent" ke grup lokal yang disebut "Pengguna Log Performa". Ini menghilangkan kesalahan pengecualian "Tidak dapat menginisialisasi pengumpul metrik" dengan mengizinkan akun mengakses kunci registri yang diinginkan: HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib
Unable to initialize metrics collector, exception: 'System.UnauthorizedAccessException: Access to the registry key 'Global' is denied.
  1. Saat mengonfigurasi host ECMA, pastikan Anda memberikan sertifikat dengan subjek yang cocok dengan nama host server windows Anda. Sertifikat yang dihasilkan oleh host ECMA akan melakukan ini untuk Anda secara otomatis, tetapi hanya boleh digunakan untuk tujuan pengujian.
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.

Jika tidak dapat mengonfigurasi host ECMA, lihat log di Pemantau Peristiwa, atau memulai layanan host ECMA

Untuk mengatasi masalah berikut, jalankan wizard konfigurasi host ECMA sebagai administrator:

  • Saya mendapatkan kesalahan saat membuka wizard host ECMA.

    Screenshot that shows an ECMA wizard error.

  • Saya dapat mengonfigurasi wizard host ECMA, tetapi saya tidak dapat melihat log host ECMA. Dalam hal ini, Anda perlu membuka wizard konfigurasi Host ECMA sebagai administrator dan menyiapkan konektor secara menyeluruh. Langkah ini dapat disederhanakan dengan mengekspor konektor yang ada dan mengimpornya lagi.

    Screenshot that shows host logs.

  • Saya dapat mengonfigurasi wizard host ECMA, tetapi saya tidak dapat memulai layanan host ECMA.

    Screenshot that shows the host service.

Mengaktifkan pengelogan verbose

Secara default, switchValue untuk Host Konektor ECMA diatur ke Verbose. Pengaturan ini akan memancarkan pengelogan terperinci yang akan membantu Anda memecahkan masalah. Anda dapat mengubah verbositas menjadi Error jika Anda ingin membatasi jumlah log yang dipancarkan hanya untuk kesalahan. Wen menggunakan konektor SQL tanpa Windows Integrated Auth, sebaiknya atur switchValue ke Error karena akan memastikan bahwa string koneksi tidak muncul di log. Untuk mengubah verbositas menjadi kesalahan, perbarui switchValue ke "Kesalahan" di kedua tempat seperti yang ditunjukkan di bawah ini.

Lokasi file untuk pengelogan verbose adalah 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

Lokasi file untuk pengelogan wizard adalah 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" /> 

Mengkueri Cache Host ECMA

Host ECMA memiliki cache pengguna di aplikasi Anda yang diperbarui sesuai dengan jadwal yang Anda tentukan di halaman properti wizard Host ECMA. Untuk mengkueri cache, lakukan langkah-langkah di bawah ini:

  1. Atur bendera Debug ke true.

    Harap perhatikan bahwa mengatur bendera debug ke true menonaktifkan autentikasi pada Host ECMA. Anda harus mengaturnya kembali ke false dan memulai ulang layanan Host ECMA setelah Anda selesai mengkueri cache.

    Lokasi file untuk pengelogan layanan verbose adalah 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. Memulai ulang Microsoft ECMA2Host server.

  3. Tunggu hingga Host ECMA terhubung ke sistem target dan baca ulang cache-nya dari masing-masing sistem yang terhubung. Jika ada banyak pengguna dalam sistem yang terhubung tersebut, proses impor ini bisa memakan waktu beberapa menit.

  4. Kueri titik akhir ini dari server tempat Host ECMA diinstal, mengganti {connector name} dengan nama konektor Anda, yang ditentukan di halaman properti Host ECMA: https://localhost:8585/ecma2host_{connectorName}/scim/cache.

    1. Di server dengan agen terinstal, luncurkan PowerShell.
    2. Ubah ke folder tempat host ECMA diinstal, seperti C:\Program Files\Microsoft ECMA2Host.
    3. Ubah ke subdirektori Troubleshooting.
    4. Jalankan skrip TestECMA2HostConnection.ps1 di direktori tersebut, dan berikan sebagai argumen nama konektor dan ObjectTypePath nilai cache. Saat diminta, ketik token rahasia yang dikonfigurasi untuk konektor tersebut.
      PS C:\Program Files\Microsoft ECMA2Host\Troubleshooting> .\TestECMA2HostConnection.ps1 -ConnectorName CORPDB1 -ObjectTypePath cache
      Supply values for the following parameters:
      SecretToken: ************
      
    5. Skrip ini mengirimkan permintaan SCIM GET untuk memvalidasi bahwa Host Koneksi or ECMA beroperasi dan menanggapi permintaan. Jika output tidak menunjukkan bahwa koneksi HTTP berhasil, periksa apakah layanan berjalan dan bahwa token rahasia yang benar disediakan.
  5. Atur bendera Debug kembali ke false atau hapus pengaturan setelah Anda selesai mengkueri cache.

  6. Memulai ulang Microsoft ECMA2Host server.

Atribut target hilang

Layanan provisi otomatis menemukan atribut di aplikasi target Anda. Jika Anda melihat bahwa atribut target hilang di daftar atribut target di portal Microsoft Azure, lakukan langkah pemecahan masalah berikut:

  1. Tinjau halaman Pilih Atribut dari konfigurasi host ECMA Anda untuk memeriksa apakah atribut telah dipilih, sehingga akan diekspos ke portal Azure.
  2. Pastikan bahwa layanan host ECMA berjalan.
  3. Setelah menetapkan agen ke aplikasi perusahaan, menyelesaikan langkah koneksi pengujian, dan menyimpan kredensial admin, refresh browser. Ini akan memaksa layanan provisi untuk membuat permintaan /skema dan menemukan atribut target.
  4. Tinjau log host ECMA untuk memeriksa apakah permintaan /skema dibuat, dan tinjau atribut dalam respons. Informasi ini akan sangat berharga bagi dukungan untuk memecahkan masalah.

Mengumpulkan log dari Pemantau Peristiwa sebagai file zip

Anda dapat menggunakan skrip yang disertakan untuk mengambil log peristiwa dalam file zip dan mengekspornya.

  1. Di server dengan agen terinstal, klik kanan PowerShell di menu Mulai dan pilih ke Run as administrator.
  2. Ubah ke folder tempat host ECMA diinstal, seperti C:\Program Files\Microsoft ECMA2Host.
  3. Ubah ke subdirektori Troubleshooting.
  4. Jalankan skrip CollectTroubleshootingInfo.ps1 di direktori tersebut.
  5. Skrip akan membuat file ZIP di direktori yang berisi log peristiwa.

Tinjau peristiwa di Pemantau Peristiwa

Setelah pemetaan skema Host Konektor ECMA dikonfigurasi, mulai layanan sehingga layanan akan mendengarkan koneksi masuk. Kemudian, pantau permintaan yang masuk.

  1. Pilih menu Mulai, masukkan pemantau peristiwa, dan pilih Pemantau Peristiwa.
  2. Di Pemantau Peristiwa, luaskan log Aplikasi dan Layanan, dan pilih Log Microsoft ECMA2Host.
  3. Karena perubahan diterima oleh host konektor, peristiwa akan ditulis ke log aplikasi.

Kesalahan umum

Kesalahan Resolusi
Tidak dapat memuat file atau assembly 'file:///C:\Program Files\Microsoft ECMA2Host\Service\ECMA\Cache\8b514472-c18a-4641-9a44-732c296534e8\Microsoft.IAM.Connector.GenericSql.dll' atau salah satu dependensinya. Akses ditolak. Pastikan bahwa akun layanan jaringan memiliki izin 'kontrol penuh' untuk folder cache.
Gaya LDAP yang tidak valid dari DN objek. DN: username@domain.com" atau Target Site: ValidByLdapStyle Pastikan kotak centang 'DN adalah Jangkar' tidak dicentang di halaman 'konektivitas' host ECMA. Pastikan kotak centang 'dibuat otomatis' telah dipilih di halaman 'jenis objek' host ECMA. Untuk informasi selengkapnya, lihat Tentang atribut jangkar dan nama khusus.
ExportErrorCustomContinueRun. objectClass: angka nilai tidak valid per sintaks Pastikan bahwa pemetaan atribut provisi ke objectClass atribut hanya menyertakan nama kelas objek yang dikenali oleh server direktori.

Memahami permintaan SCIM yang masuk

Permintaan yang dibuat oleh MICROSOFT Entra ID ke agen provisi dan host konektor menggunakan protokol SCIM. Permintaan yang dibuat dari host ke aplikasi menggunakan protokol yang didukung aplikasi. Permintaan dari host ke agen ke MICROSOFT Entra ID mengandalkan SCIM. Anda dapat mempelajari selengkapnya tentang implementasi SCIM dalam Tutorial: Mengembangkan dan merencanakan provisi untuk titik akhir SCIM di ID Microsoft Entra.

Layanan provisi Microsoft Entra umumnya melakukan panggilan get-user untuk memeriksa pengguna dummy dalam tiga situasi: di awal setiap siklus provisi, sebelum melakukan provisi sesuai permintaan dan kapan koneksi pengujian dipilih. Pemeriksaan ini memastikan titik akhir target tersedia dan mengembalikan respons yang mematuhi SCIM ke layanan provisi Microsoft Entra.

Bagaimana cara saya memecahkan masalah agen provisi?

Anda mungkin akan mengalami skenario kesalahan berikut.

Agen gagal memulai

Anda mungkin menerima pesan kesalahan yang berisi:

"Layanan 'Microsoft Entra Koneksi Provisioning Agent' gagal dimulai. Periksa apakah Anda memiliki izin yang mencukupi untuk memulai layanan sistem."

Masalah ini umumnya disebabkan oleh kebijakan grup yang mencegah izin akses untuk diterapkan ke akun rincian masuk Layanan NT lokal yang dibuat oleh alat penginstal (NT SERVICE\AADConnectProvisioningAgent). Izin ini diperlukan untuk memulai layanan.

Untuk mengatasi masalah ini:

  1. Masuk ke server menggunakan akun administrator.
  2. Buka Layanan melalui navigasi atau melalui Start>Run>Services.msc.
  3. Di bawah Layanan, klik dua kali Microsoft Entra Koneksi Provisioning Agent.
  4. Pada tab Masuk, ubah Akun ini menjadi admin domain. Kemudian mulai ulang layanan tersebut.

Pengujian ini memverifikasi bahwa agen Anda dapat berkomunikasi dengan Azure melalui port 443. Buka browser, dan buka URL sebelumnya dari server tempat agen diinstal.

Waktu agen habis atau sertifikat tidak valid

Anda mungkin mendapatkan pesan kesalahan berikut saat mencoba mendaftarkan agen.

Screenshot that shows that the agent timed out.

Biasanya masalah ini disebabkan karena agen tidak dapat tersambung ke Solusi Identitas Hibrid dan mengharuskan Anda mengonfigurasi proksi HTTP. Untuk menyelesaikan masalah ini, konfigurasikan proksi keluar.

Agen provisi mendukung penggunaan proksi keluar. Anda dapat mengonfigurasinya dengan mengedit file config agen C:\Program Files\Microsoft Azure AD Connect Provisioning Agent\AADConnectProvisioningAgent.exe.config. Tambahkan baris berikut ke dalamnya, mendekati akhir file tepat sebelum tag </configuration> penutup. Ganti variabel [proxy-server] dan [proxy-port] dengan nama server proksi dan nilai port Anda.

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

Pendaftaran agen gagal dengan kesalahan keamanan

Anda mungkin mendapat pesan kesalahan saat menginstal agen provisi cloud.

Masalah ini umumnya disebabkan oleh ketidakmampuan agen untuk menjalankan skrip pendaftaran PowerShell akibat kebijakan eksekusi PowerShell lokal.

Untuk mengatasi masalah ini, ubah kebijakan eksekusi PowerShell pada server. Anda perlu mengatur kebijakan Komputer dan Pengguna menjadi Tidak Terdefinisi atau RemoteSigned. Jika diatur menjadi Tidak Dibatasi, Anda akan melihat kesalahan ini. Untuk informasi selengkapnya, lihat kebijakan eksekusi PowerShell.

File log

Secara default, agen mengeluarkan pesan kesalahan minimal dan informasi pelacakan tumpukan. Anda dapat menemukan log pelacakan ini pada folder C:\ProgramData\Microsoft\Azure AD Connect Provisioning Agent\Trace.

Untuk mengumpulkan informasi lebih lanjut untuk memecahkan masalah terkait agen:

  1. AADCloudSyncTools Instal modul PowerShell seperti yang dijelaskan dalam AADCloudSyncTools modul PowerShell untuk microsoft Entra Koneksi sinkronisasi cloud.

  2. Gunakan cmdlet Export-AADCloudSyncToolsLogs PowerShell untuk menangkap informasi. Gunakan tombol berikut untuk menyelaraskan pengumpulan data Anda. Gunakan:

    • SkipVerboseTrace untuk hanya mengekspor log saat ini tanpa menangkap log verbose (default = salah).
    • TracingDurationMins untuk menentukan durasi pengambilan yang berbeda (default = 3 menit).
    • OutputPath untuk menentukan jalur output yang berbeda (default = dokumen pengguna).

Dengan menggunakan ID Microsoft Entra, Anda dapat memantau layanan provisi di cloud dan mengumpulkan log lokal. Layanan provisi memancarkan log untuk setiap pengguna yang dievaluasi sebagai bagian dari proses sinkronisasi. Log tersebut dapat digunakan melalui UI portal Microsoft Azure, API, dan analitik log. Host ECMA juga menghasilkan log lokal. Ini menunjukkan setiap permintaan provisi yang diterima dan respons yang dikirim ke ID Microsoft Entra.

Penginstalan agen gagal

  • Kesalahan System.ComponentModel.Win32Exception: The specified service already exists menunjukkan bahwa host ECMA sebelumnya tidak berhasil untuk dihapus instalannya. Hapus instalan aplikasi host. Buka file program dan hapus folder host ECMA. Anda mungkin ingin menyimpan file konfigurasi untuk cadangan.

  • Kesalahan berikut menunjukkan prasyarat tidak terpenuhi. Pastikan Anda telah menginstal .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.
    
    

Saya mendapatkan pesan kesalahan DN gaya LDAP Tidak Valid saat mencoba mengonfigurasi Host Konektor ECMA dengan SQL

Secara default, konektor SQL generik mengharapkan DN diisi menggunakan gaya LDAP (ketika atribut 'DN adalah jangkar' dibiarkan tidak dicentang di halaman konektivitas pertama). Dalam pesan Invalid LDAP style DN kesalahan atau Target Site: ValidByLdapStyle, Anda mungkin melihat bahwa bidang DN berisi nama prinsipal pengguna (UPN), bukan DN gaya LDAP yang diharapkan konektor.

Untuk mengatasi pesan kesalahan ini, pastikan bahwa Autogenerated dipilih pada halaman jenis objek saat Anda mengonfigurasi konektor.

Untuk informasi selengkapnya, lihat Tentang atribut jangkar dan nama khusus.

Langkah berikutnya