Mengonfigurasi sinkronisasi lintas penyewa menggunakan PowerShell atau Microsoft Graph API
Artikel ini menjelaskan langkah-langkah utama untuk mengonfigurasi sinkronisasi lintas penyewa menggunakan Microsoft Graph PowerShell atau Microsoft Graph API. Saat dikonfigurasi, MICROSOFT Entra ID secara otomatis memprovisi dan mendeprovisi pengguna B2B di penyewa target Anda. Untuk langkah-langkah terperinci menggunakan pusat admin Microsoft Entra, lihat Mengonfigurasi sinkronisasi lintas penyewa.
Prasyarat
Penyewa sumber
- Lisensi Microsoft Entra ID P1 atau P2. Untuk informasi selengkapnya, lihat Persyaratan lisensi.
- Peran Administrator Keamanan untuk mengonfigurasi pengaturan akses lintas penyewa.
- Peran Administrator Identitas Hibrid untuk mengonfigurasi sinkronisasi lintas penyewa.
- Peran Administrator Aplikasi Cloud atau Administrator Aplikasi untuk menetapkan pengguna ke konfigurasi dan menghapus konfigurasi.
- Peran Administrator Global untuk menyetujui izin yang diperlukan.
Penyewa target
- Lisensi Microsoft Entra ID P1 atau P2. Untuk informasi selengkapnya, lihat Persyaratan lisensi.
- Peran Administrator Keamanan untuk mengonfigurasi pengaturan akses lintas penyewa.
- Peran Administrator Global untuk menyetujui izin yang diperlukan.
Langkah 1: Masuk ke penyewa target
Penyewa target
Mulai PowerShell.
Jika perlu, instal Microsoft Graph PowerShell SDK.
Dapatkan ID penyewa dari penyewa sumber dan target dan inisialisasi variabel.
$SourceTenantId = "<SourceTenantId>" $TargetTenantId = "<TargetTenantId>"
Gunakan perintah Connect-MgGraph untuk masuk ke penyewa target dan menyetujui izin yang diperlukan berikut ini.
Policy.Read.All
Policy.ReadWrite.CrossTenantAccess
Connect-MgGraph -TenantId $TargetTenantId -Scopes "Policy.Read.All","Policy.ReadWrite.CrossTenantAccess"
Langkah 2: Mengaktifkan sinkronisasi pengguna di penyewa target
Penyewa target
Di penyewa target, gunakan perintah New-MgPolicyCrossTenantAccessPolicyPartner untuk membuat konfigurasi mitra baru dalam kebijakan akses lintas penyewa antara penyewa target dan penyewa sumber. Gunakan ID penyewa sumber dalam permintaan.
Jika Anda mendapatkan kesalahan
New-MgPolicyCrossTenantAccessPolicyPartner_Create: Another object with the same value for property tenantId already exists
, Anda mungkin sudah memiliki konfigurasi yang sudah ada. Untuk informasi selengkapnya, lihat Gejala - Kesalahan MgPolicyCrossTenantAccessPolicyPartner_Create baru.$Params = @{ TenantId = $SourceTenantId } New-MgPolicyCrossTenantAccessPolicyPartner -BodyParameter $Params | Format-List
AutomaticUserConsentSettings : Microsoft.Graph.PowerShell.Models.MicrosoftGraphInboundOutboundPolicyConfiguration B2BCollaborationInbound : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyB2BSetting B2BCollaborationOutbound : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyB2BSetting B2BDirectConnectInbound : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyB2BSetting B2BDirectConnectOutbound : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyB2BSetting IdentitySynchronization : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantIdentitySyncPolicyPartner InboundTrust : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyInboundTrust IsServiceProvider : TenantId : <SourceTenantId> TenantRestrictions : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyTenantRestrictions AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/crossTenantAccessPolicy/partners/$entity], [crossCloudMeetingConfiguration, System.Collections.Generic.Dictionary`2[System.String,System.Object]], [protectedContentSharing, System.Collections.Generic.Dictionary`2[System.String,System.Object]]}
Gunakan perintah Invoke-MgGraphRequest untuk mengaktifkan sinkronisasi pengguna di penyewa target.
Jika Anda mendapatkan kesalahan
Request_MultipleObjectsWithSameKeyValue
, Anda mungkin sudah memiliki kebijakan yang sudah ada. Untuk informasi selengkapnya, lihat Gejala - kesalahan Request_MultipleObjectsWithSameKeyValue.$Params = @{ userSyncInbound = @{ isSyncAllowed = $true } } Invoke-MgGraphRequest -Method PUT -Uri "https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/partners/$SourceTenantId/identitySynchronization" -Body $Params
Gunakan perintah Get-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization untuk memverifikasi
IsSyncAllowed
diatur ke True.(Get-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization -CrossTenantAccessPolicyConfigurationPartnerTenantId $SourceTenantId).UserSyncInbound
IsSyncAllowed ------------- True
Langkah 3: Menukarkan undangan secara otomatis di penyewa target
Penyewa target
Di penyewa target, gunakan perintah Update-MgPolicyCrossTenantAccessPolicyPartner untuk secara otomatis menukarkan undangan dan menekan permintaan persetujuan untuk akses masuk.
$AutomaticUserConsentSettings = @{ "InboundAllowed"="True" } Update-MgPolicyCrossTenantAccessPolicyPartner -CrossTenantAccessPolicyConfigurationPartnerTenantId $SourceTenantId -AutomaticUserConsentSettings $AutomaticUserConsentSettings
Langkah 4: Masuk ke penyewa sumber
Penyewa sumber
Mulai instans PowerShell.
Dapatkan ID penyewa dari penyewa sumber dan target dan inisialisasi variabel.
$SourceTenantId = "<SourceTenantId>" $TargetTenantId = "<TargetTenantId>"
Gunakan perintah Connect-MgGraph untuk masuk ke penyewa sumber dan menyetujui izin yang diperlukan berikut ini.
Policy.Read.All
Policy.ReadWrite.CrossTenantAccess
Application.ReadWrite.All
Directory.ReadWrite.All
AuditLog.Read.All
Connect-MgGraph -TenantId $SourceTenantId -Scopes "Policy.Read.All","Policy.ReadWrite.CrossTenantAccess","Application.ReadWrite.All","Directory.ReadWrite.All","AuditLog.Read.All"
Langkah 5: Menukarkan undangan secara otomatis di penyewa sumber
Penyewa sumber
Di penyewa sumber, gunakan perintah New-MgPolicyCrossTenantAccessPolicyPartner untuk membuat konfigurasi mitra baru dalam kebijakan akses lintas penyewa antara penyewa sumber dan penyewa target. Gunakan ID penyewa target dalam permintaan.
Jika Anda mendapatkan kesalahan
New-MgPolicyCrossTenantAccessPolicyPartner_Create: Another object with the same value for property tenantId already exists
, Anda mungkin sudah memiliki konfigurasi yang sudah ada. Untuk informasi selengkapnya, lihat Gejala - Kesalahan MgPolicyCrossTenantAccessPolicyPartner_Create baru.$Params = @{ TenantId = $TargetTenantId } New-MgPolicyCrossTenantAccessPolicyPartner -BodyParameter $Params | Format-List
AutomaticUserConsentSettings : Microsoft.Graph.PowerShell.Models.MicrosoftGraphInboundOutboundPolicyConfiguration B2BCollaborationInbound : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyB2BSetting B2BCollaborationOutbound : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyB2BSetting B2BDirectConnectInbound : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyB2BSetting B2BDirectConnectOutbound : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyB2BSetting IdentitySynchronization : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantIdentitySyncPolicyPartner InboundTrust : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyInboundTrust IsServiceProvider : TenantId : <TargetTenantId> TenantRestrictions : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCrossTenantAccessPolicyTenantRestrictions AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#policies/crossTenantAccessPolicy/partners/$entity], [crossCloudMeetingConfiguration, System.Collections.Generic.Dictionary`2[System.String,System.Object]], [protectedContentSharing, System.Collections.Generic.Dictionary`2[System.String,System.Object]]}
Gunakan perintah Update-MgPolicyCrossTenantAccessPolicyPartner untuk secara otomatis menukarkan undangan dan menekan permintaan persetujuan untuk akses keluar.
$AutomaticUserConsentSettings = @{ "OutboundAllowed"="True" } Update-MgPolicyCrossTenantAccessPolicyPartner -CrossTenantAccessPolicyConfigurationPartnerTenantId $TargetTenantId -AutomaticUserConsentSettings $AutomaticUserConsentSettings
Langkah 6: Membuat aplikasi konfigurasi di penyewa sumber
Penyewa sumber
Di penyewa sumber, gunakan perintah Invoke-MgInstantiateApplicationTemplate untuk menambahkan instans aplikasi konfigurasi dari galeri aplikasi Microsoft Entra ke penyewa Anda.
Invoke-MgInstantiateApplicationTemplate -ApplicationTemplateId "518e5f48-1fc8-4c48-9387-9fdf28b0dfe7" -DisplayName "Fabrikam"
Gunakan perintah Get-MgServicePrincipal untuk mendapatkan ID perwakilan layanan dan ID peran aplikasi.
Get-MgServicePrincipal -Filter "DisplayName eq 'Fabrikam'" | Format-List
AccountEnabled : True AddIns : {} AlternativeNames : {} AppDescription : AppDisplayName : Fabrikam AppId : <AppId> AppManagementPolicies : AppOwnerOrganizationId : <AppOwnerOrganizationId> AppRoleAssignedTo : AppRoleAssignmentRequired : True AppRoleAssignments : AppRoles : {<AppRoleId>} ApplicationTemplateId : 518e5f48-1fc8-4c48-9387-9fdf28b0dfe7 ClaimsMappingPolicies : CreatedObjects : CustomSecurityAttributes : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue DelegatedPermissionClassifications : DeletedDateTime : Description : DisabledByMicrosoftStatus : DisplayName : Fabrikam Endpoints : ErrorUrl : FederatedIdentityCredentials : HomeRealmDiscoveryPolicies : Homepage : https://account.activedirectory.windowsazure.com:444/applications/default.aspx?metadata=aad2aadsync|ISV9.1|primary|z Id : <ServicePrincipalId> Info : Microsoft.Graph.PowerShell.Models.MicrosoftGraphInformationalUrl KeyCredentials : {} LicenseDetails : ...
Menginisialisasi variabel untuk ID perwakilan layanan.
Pastikan untuk menggunakan ID perwakilan layanan alih-alih ID aplikasi.
$ServicePrincipalId = "<ServicePrincipalId>"
Menginisialisasi variabel untuk ID peran aplikasi.
$AppRoleId= "<AppRoleId>"
Langkah 7: Uji koneksi ke penyewa target
Penyewa sumber
Di penyewa sumber, gunakan perintah Invoke-MgGraphRequest untuk menguji koneksi ke penyewa target dan memvalidasi kredensial.
$Params = @{ "useSavedCredentials" = $false "templateId" = "Azure2Azure" "credentials" = @( @{ "key" = "CompanyId" "value" = $TargetTenantId } @{ "key" = "AuthenticationType" "value" = "SyncPolicy" } ) } Invoke-MgGraphRequest -Method POST -Uri "https://graph.microsoft.com/v1.0/servicePrincipals/$ServicePrincipalId/synchronization/jobs/validateCredentials" -Body $Params
Langkah 8: Membuat pekerjaan provisi di penyewa sumber
Penyewa sumber
Di penyewa sumber, untuk mengaktifkan provisi, buat pekerjaan provisi.
Tentukan templat sinkronisasi yang akan digunakan, seperti
Azure2Azure
.Templat memiliki pengaturan sinkronisasi yang telah dikonfigurasi sebelumnya.
Di penyewa sumber, gunakan perintah New-MgServicePrincipalSynchronizationJob untuk membuat pekerjaan provisi berdasarkan templat.
New-MgServicePrincipalSynchronizationJob -ServicePrincipalId $ServicePrincipalId -TemplateId "Azure2Azure" | Format-List
Id : <JobId> Schedule : Microsoft.Graph.PowerShell.Models.MicrosoftGraphSynchronizationSchedule Schema : Microsoft.Graph.PowerShell.Models.MicrosoftGraphSynchronizationSchema Status : Microsoft.Graph.PowerShell.Models.MicrosoftGraphSynchronizationStatus SynchronizationJobSettings : {AzureIngestionAttributeOptimization, LookaheadQueryEnabled} TemplateId : Azure2Azure AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('<ServicePrincipalId>')/synchro nization/jobs/$entity]}
Menginisialisasi variabel untuk ID pekerjaan.
$JobId = "<JobId>"
Langkah 9: Simpan kredensial Anda
Penyewa sumber
Di penyewa sumber, gunakan perintah Invoke-MgGraphRequest untuk menyimpan kredensial Anda.
$Params = @{ "value" = @( @{ "key" = "AuthenticationType" "value" = "SyncPolicy" } @{ "key" = "CompanyId" "value" = $TargetTenantId } ) } Invoke-MgGraphRequest -Method PUT -Uri "https://graph.microsoft.com/v1.0/servicePrincipals/$ServicePrincipalId/synchronization/secrets" -Body $Params
Langkah 10: Menetapkan pengguna ke konfigurasi
Penyewa sumber
Agar sinkronisasi lintas penyewa berfungsi, setidaknya satu pengguna internal harus ditetapkan ke konfigurasi.
Di penyewa sumber, gunakan perintah New-MgServicePrincipalAppRoleAssignedTo untuk menetapkan pengguna internal ke konfigurasi.
$Params = @{ PrincipalId = "<PrincipalId>" ResourceId = $ServicePrincipalId AppRoleId = $AppRoleId } New-MgServicePrincipalAppRoleAssignedTo -ServicePrincipalId $ServicePrincipalId -BodyParameter $Params | Format-List
AppRoleId : <AppRoleId> CreatedDateTime : 7/31/2023 10:27:12 PM DeletedDateTime : Id : <Id> PrincipalDisplayName : User1 PrincipalId : <PrincipalId> PrincipalType : User ResourceDisplayName : Fabrikam ResourceId : <ServicePrincipalId> AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#appRoleAssignments/$entity]}
Langkah 11: Uji provisi sesuai permintaan
Penyewa sumber
Setelah memiliki konfigurasi, Anda dapat menguji provisi sesuai permintaan dengan salah satu pengguna Anda.
Di penyewa sumber, gunakan perintah Get-MgServicePrincipalSynchronizationJobSchema untuk mendapatkan ID aturan skema.
$SynchronizationSchema = Get-MgServicePrincipalSynchronizationJobSchema -ServicePrincipalId $ServicePrincipalId -SynchronizationJobId $JobId $SynchronizationSchema.SynchronizationRules | Format-List
ContainerFilter : Microsoft.Graph.PowerShell.Models.MicrosoftGraphContainerFilter Editable : True GroupFilter : Microsoft.Graph.PowerShell.Models.MicrosoftGraphGroupFilter Id : <RuleId> Metadata : {defaultSourceObjectMappings, supportsProvisionOnDemand} Name : USER_INBOUND_USER ObjectMappings : {Provision Azure Active Directory Users, , , ...} Priority : 1 SourceDirectoryName : Azure Active Directory TargetDirectoryName : Azure Active Directory (target tenant) AdditionalProperties : {}
Menginisialisasi variabel untuk ID aturan.
$RuleId = "<RuleId>"
Gunakan perintah New-MgServicePrincipalSynchronizationJobOnDemand untuk memprovisikan pengguna uji sesuai permintaan.
$Params = @{ Parameters = @( @{ Subjects = @( @{ ObjectId = "<UserObjectId>" ObjectTypeName = "User" } ) RuleId = $RuleId } ) } New-MgServicePrincipalSynchronizationJobOnDemand -ServicePrincipalId $ServicePrincipalId -SynchronizationJobId $JobId -BodyParameter $Params | Format-List
Key : Microsoft.Identity.Health.CPP.Common.DataContracts.SyncFabric.StatusInfo Value : [{"provisioningSteps":[{"name":"EntryImport","type":"Import","status":"Success","description":"Retrieved User 'user1@fabrikam.com' from Azure Active Directory","timestamp":"2023-07-31T22:31:15.9116590Z","details":{"objectId": "<UserObjectId>","accountEnabled":"True","displayName":"User1","mailNickname":"user1","userPrincipalName":"use ... AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#microsoft.graph.stringKeyStringValuePair]}
Langkah 12: Mulai pekerjaan provisi
Penyewa sumber
Sekarang setelah pekerjaan provisi dikonfigurasi, di penyewa sumber, gunakan perintah Start-MgServicePrincipalSynchronizationJob untuk memulai pekerjaan provisi.
Start-MgServicePrincipalSynchronizationJob -ServicePrincipalId $ServicePrincipalId -SynchronizationJobId $JobId
Langkah 13: Memantau provisi
Penyewa sumber
Sekarang setelah pekerjaan provisi berjalan, di penyewa sumber, gunakan perintah Get-MgServicePrincipalSynchronizationJob untuk memantau kemajuan siklus provisi saat ini serta statistik hingga saat ini seperti jumlah pengguna dan grup yang telah dibuat dalam sistem target.
Get-MgServicePrincipalSynchronizationJob -ServicePrincipalId $ServicePrincipalId -SynchronizationJobId $JobId | Format-List
Id : <JobId> Schedule : Microsoft.Graph.PowerShell.Models.MicrosoftGraphSynchronizationSchedule Schema : Microsoft.Graph.PowerShell.Models.MicrosoftGraphSynchronizationSchema Status : Microsoft.Graph.PowerShell.Models.MicrosoftGraphSynchronizationStatus SynchronizationJobSettings : {AzureIngestionAttributeOptimization, LookaheadQueryEnabled} TemplateId : Azure2Azure AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#servicePrincipals('<ServicePrincipalId>')/synchro nization/jobs/$entity]}
Selain memantau status pekerjaan provisi, gunakan perintah Get-MgAuditLogProvisioning untuk mengambil log provisi dan mendapatkan semua peristiwa provisi yang terjadi. Misalnya, kueri untuk pengguna tertentu dan menentukan apakah pengguna berhasil disediakan.
Get-MgAuditLogDirectoryAudit | Select -First 10 | Format-List
ActivityDateTime : 7/31/2023 12:08:17 AM ActivityDisplayName : Export AdditionalDetails : {Details, ErrorCode, EventName, ipaddr...} Category : ProvisioningManagement CorrelationId : aaaa0000-bb11-2222-33cc-444444dddddd Id : Sync_aaaa0000-bb11-2222-33cc-444444dddddd_L5BFV_161778479 InitiatedBy : Microsoft.Graph.PowerShell.Models.MicrosoftGraphAuditActivityInitiator1 LoggedByService : Account Provisioning OperationType : Result : success ResultReason : User 'user2@fabrikam.com' was created in Azure Active Directory (target tenant) TargetResources : {<ServicePrincipalId>, } AdditionalProperties : {} ActivityDateTime : 7/31/2023 12:08:17 AM ActivityDisplayName : Export AdditionalDetails : {Details, ErrorCode, EventName, ipaddr...} Category : ProvisioningManagement CorrelationId : aaaa0000-bb11-2222-33cc-444444dddddd Id : Sync_aaaa0000-bb11-2222-33cc-444444dddddd_L5BFV_161778264 InitiatedBy : Microsoft.Graph.PowerShell.Models.MicrosoftGraphAuditActivityInitiator1 LoggedByService : Account Provisioning OperationType : Result : success ResultReason : User 'user2@fabrikam.com' was updated in Azure Active Directory (target tenant) TargetResources : {<ServicePrincipalId>, } AdditionalProperties : {} ActivityDateTime : 7/31/2023 12:08:14 AM ActivityDisplayName : Synchronization rule action AdditionalDetails : {Details, ErrorCode, EventName, ipaddr...} Category : ProvisioningManagement CorrelationId : aaaa0000-bb11-2222-33cc-444444dddddd Id : Sync_aaaa0000-bb11-2222-33cc-444444dddddd_L5BFV_161778395 InitiatedBy : Microsoft.Graph.PowerShell.Models.MicrosoftGraphAuditActivityInitiator1 LoggedByService : Account Provisioning OperationType : Result : success ResultReason : User 'user2@fabrikam.com' will be created in Azure Active Directory (target tenant) (User is active and assigned in Azure Active Directory, but no matching User was found in Azure Active Directory (target tenant)) TargetResources : {<ServicePrincipalId>, } AdditionalProperties : {}
Tips Pemecahan Masalah
Gejala - Kesalahan hak istimewa tidak memadai
Saat mencoba melakukan tindakan, Anda menerima pesan kesalahan yang mirip dengan yang berikut ini:
code: Authorization_RequestDenied
message: Insufficient privileges to complete the operation.
Penyebab
Pengguna yang masuk tidak memiliki hak istimewa yang memadai, atau Anda perlu menyetujui salah satu izin yang diperlukan.
Solusi
Pastikan Anda diberi peran yang diperlukan. Lihat Prasyarat sebelumnya di artikel ini.
Saat Anda masuk dengan Connect-MgGraph, pastikan Anda menentukan cakupan yang diperlukan. Lihat Langkah 1: Masuk ke penyewa target dan Langkah 4: Masuk ke penyewa sumber sebelumnya di artikel ini.
Gejala - Kesalahan MgPolicyCrossTenantAccessPolicyPartner_Create baru
Saat mencoba membuat konfigurasi mitra baru, Anda menerima pesan kesalahan yang mirip dengan yang berikut ini:
New-MgPolicyCrossTenantAccessPolicyPartner_Create: Another object with the same value for property tenantId already exists.
Penyebab
Anda mungkin mencoba membuat konfigurasi atau objek yang sudah ada, mungkin dari konfigurasi sebelumnya.
Solusi
Verifikasi sintaks anda dan bahwa Anda menggunakan ID penyewa yang benar.
Gunakan perintah Get-MgPolicyCrossTenantAccessPolicyPartner untuk mencantumkan objek yang ada.
Jika Anda memiliki objek yang sudah ada, Anda mungkin perlu membuat pembaruan menggunakan Update-MgPolicyCrossTenantAccessPolicyPartner
Gejala - kesalahan Request_MultipleObjectsWithSameKeyValue
Saat Anda mencoba mengaktifkan sinkronisasi pengguna, Anda menerima pesan kesalahan yang mirip dengan yang berikut ini:
Invoke-MgGraphRequest: PUT https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/partners/<SourceTenantId>/identitySynchronization
HTTP/1.1 409 Conflict
...
{"error":{"code":"Request_MultipleObjectsWithSameKeyValue","message":"A conflicting object with one or more of the specified property values is present in the directory.","details":[{"code":"ConflictingObjects","message":"A conflicting object with one or more of the specified property values is present in the directory.", ... }}}
Penyebab
Anda kemungkinan mencoba membuat kebijakan yang sudah ada, mungkin dari konfigurasi sebelumnya.
Solusi
Verifikasi sintaks anda dan bahwa Anda menggunakan ID penyewa yang benar.
Gunakan perintah Get-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization untuk mencantumkan
IsSyncAllowed
pengaturan.(Get-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization -CrossTenantAccessPolicyConfigurationPartnerTenantId $SourceTenantId).UserSyncInbound
Jika Anda memiliki kebijakan yang sudah ada, Anda mungkin perlu membuat pembaruan menggunakan perintah Set-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization untuk mengaktifkan sinkronisasi pengguna.
$Params = @{ userSyncInbound = @{ isSyncAllowed = $true } } Set-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization -CrossTenantAccessPolicyConfigurationPartnerTenantId $SourceTenantId -BodyParameter $Params