Konfigurace synchronizace mezi tenanty pomocí PowerShellu nebo rozhraní Microsoft Graph API
Tento článek popisuje klíčové kroky konfigurace synchronizace mezi tenanty pomocí Microsoft Graph PowerShellu nebo rozhraní Microsoft Graph API. Při konfiguraci microsoft Entra ID automaticky zřídí a zruší zřídí uživatele B2B ve vašem cílovém tenantovi. Podrobné kroky v Centru pro správu Microsoft Entra najdete v tématu Konfigurace synchronizace mezi tenanty.
Požadavky
Zdrojový tenant
- Licence Microsoft Entra ID P1 nebo P2. Další informace najdete v tématu Licenční požadavky.
- Role Správce zabezpečení pro konfiguraci nastavení přístupu mezi tenanty
- Role Správce hybridní identity pro konfiguraci synchronizace mezi tenanty
- Role Správce cloudových aplikací nebo Správce aplikací pro přiřazení uživatelů ke konfiguraci a odstranění konfigurace.
- Role globálního správce pro vyjádření souhlasu s požadovanými oprávněními
Cílový tenant
- Licence Microsoft Entra ID P1 nebo P2. Další informace najdete v tématu Licenční požadavky.
- Role Správce zabezpečení pro konfiguraci nastavení přístupu mezi tenanty
- Role globálního správce pro vyjádření souhlasu s požadovanými oprávněními
Krok 1: Přihlášení k cílovému tenantovi
Cílový tenant
Spusťte PowerShell.
V případě potřeby nainstalujte sadu Microsoft Graph PowerShell SDK.
Získejte ID tenanta zdrojového a cílového tenanta a inicializujete proměnné.
$SourceTenantId = "<SourceTenantId>" $TargetTenantId = "<TargetTenantId>"
Pomocí příkazu Connect-MgGraph se přihlaste k cílovému tenantovi a odsouhlaste následující požadovaná oprávnění.
Policy.Read.All
Policy.ReadWrite.CrossTenantAccess
Connect-MgGraph -TenantId $TargetTenantId -Scopes "Policy.Read.All","Policy.ReadWrite.CrossTenantAccess"
Krok 2: Povolení synchronizace uživatelů v cílovém tenantovi
Cílový tenant
V cílovém tenantovi pomocí příkazu New-MgPolicyCrossTenantAccessPolicyPartner vytvořte novou konfiguraci partnera v zásadách přístupu mezi tenanty mezi cílovým a zdrojovým tenantem. V požadavku použijte ID zdrojového tenanta.
Pokud se zobrazí chyba
New-MgPolicyCrossTenantAccessPolicyPartner_Create: Another object with the same value for property tenantId already exists
, možná už máte existující konfiguraci. Další informace najdete v tématu Příznaky – Chyba New-MgPolicyCrossTenantAccessPolicyPartner_Create.$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]]}
Pomocí příkazu Invoke-MgGraphRequest povolte synchronizaci uživatelů v cílovém tenantovi.
Pokud se zobrazí
Request_MultipleObjectsWithSameKeyValue
chyba, možná už máte existující zásadu. Další informace naleznete v tématu Příznaky – Request_MultipleObjectsWithSameKeyValue chyba.$Params = @{ userSyncInbound = @{ isSyncAllowed = $true } } Invoke-MgGraphRequest -Method PUT -Uri "https://graph.microsoft.com/v1.0/policies/crossTenantAccessPolicy/partners/$SourceTenantId/identitySynchronization" -Body $Params
Pomocí příkazu Get-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization ověřte
IsSyncAllowed
, že je nastavená hodnota True.(Get-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization -CrossTenantAccessPolicyConfigurationPartnerTenantId $SourceTenantId).UserSyncInbound
IsSyncAllowed ------------- True
Krok 3: Automatické uplatnění pozvánek v cílovém tenantovi
Cílový tenant
V cílovém tenantovi použijte příkaz Update-MgPolicyCrossTenantAccessPolicyPartner k automatickému uplatnění pozvánek a potlačení výzev k vyjádření souhlasu pro příchozí přístup.
$AutomaticUserConsentSettings = @{ "InboundAllowed"="True" } Update-MgPolicyCrossTenantAccessPolicyPartner -CrossTenantAccessPolicyConfigurationPartnerTenantId $SourceTenantId -AutomaticUserConsentSettings $AutomaticUserConsentSettings
Krok 4: Přihlášení ke zdrojovému tenantovi
Zdrojový tenant
Spusťte instanci PowerShellu.
Získejte ID tenanta zdrojového a cílového tenanta a inicializujete proměnné.
$SourceTenantId = "<SourceTenantId>" $TargetTenantId = "<TargetTenantId>"
Pomocí příkazu Connect-MgGraph se přihlaste ke zdrojovému tenantovi a odsouhlaste následující požadovaná oprávnění.
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"
Krok 5: Automatické uplatnění pozvánek ve zdrojovém tenantovi
Zdrojový tenant
Ve zdrojovém tenantovi pomocí příkazu New-MgPolicyCrossTenantAccessPolicyPartner vytvořte novou konfiguraci partnera v zásadách přístupu mezi tenanty mezi zdrojovým a cílovým tenantem. V požadavku použijte ID cílového tenanta.
Pokud se zobrazí chyba
New-MgPolicyCrossTenantAccessPolicyPartner_Create: Another object with the same value for property tenantId already exists
, možná už máte existující konfiguraci. Další informace najdete v tématu Příznaky – Chyba New-MgPolicyCrossTenantAccessPolicyPartner_Create.$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]]}
Pomocí příkazu Update-MgPolicyCrossTenantAccessPolicyPartner můžete automaticky uplatnit pozvánky a potlačit výzvy k vyjádření souhlasu pro odchozí přístup.
$AutomaticUserConsentSettings = @{ "OutboundAllowed"="True" } Update-MgPolicyCrossTenantAccessPolicyPartner -CrossTenantAccessPolicyConfigurationPartnerTenantId $TargetTenantId -AutomaticUserConsentSettings $AutomaticUserConsentSettings
Krok 6: Vytvoření konfigurační aplikace ve zdrojovém tenantovi
Zdrojový tenant
Ve zdrojovém tenantovi pomocí příkazu Invoke-MgInstantiateApplicationTemplate přidejte do svého tenanta instanci konfigurační aplikace z galerie aplikací Microsoft Entra.
Invoke-MgInstantiateApplicationTemplate -ApplicationTemplateId "518e5f48-1fc8-4c48-9387-9fdf28b0dfe7" -DisplayName "Fabrikam"
Pomocí příkazu Get-MgServicePrincipal získejte ID instančního objektu a ID role aplikace.
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 : ...
Inicializuje proměnnou pro ID instančního objektu.
Nezapomeňte místo ID aplikace použít ID instančního objektu.
$ServicePrincipalId = "<ServicePrincipalId>"
Inicializuje proměnnou pro ID role aplikace.
$AppRoleId= "<AppRoleId>"
Krok 7: Otestování připojení k cílovému tenantovi
Zdrojový tenant
Ve zdrojovém tenantovi pomocí příkazu Invoke-MgGraphRequest otestujte připojení k cílovému tenantovi a ověřte přihlašovací údaje.
$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
Krok 8: Vytvoření úlohy zřizování ve zdrojovém tenantovi
Zdrojový tenant
Pokud chcete ve zdrojovém tenantovi povolit zřizování, vytvořte úlohu zřizování.
Určete šablonu synchronizace, která se má použít, například
Azure2Azure
.Šablona má předem nakonfigurovaná nastavení synchronizace.
Ve zdrojovém tenantovi pomocí příkazu New-MgServicePrincipalSynchronizationJob vytvořte úlohu zřizování na základě šablony.
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]}
Inicializuje proměnnou pro ID úlohy.
$JobId = "<JobId>"
Krok 9: Uložení přihlašovacích údajů
Zdrojový tenant
Ve zdrojovém tenantovi uložte přihlašovací údaje pomocí příkazu Invoke-MgGraphRequest .
$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
Krok 10: Přiřazení uživatele ke konfiguraci
Zdrojový tenant
Aby synchronizace mezi tenanty fungovala, musí být ke konfiguraci přiřazen alespoň jeden interní uživatel.
Ve zdrojovém tenantovi pomocí příkazu New-MgServicePrincipalAppRoleAssignedTo přiřaďte k konfiguraci interního uživatele.
$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]}
Krok 11: Testování zřízení na vyžádání
Zdrojový tenant
Teď, když máte konfiguraci, můžete otestovat zřizování na vyžádání u jednoho z vašich uživatelů.
Ve zdrojovém tenantovi pomocí příkazu Get-MgServicePrincipalSynchronizationJobSchema získejte ID pravidla schématu.
$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 : {}
Inicializuje proměnnou pro ID pravidla.
$RuleId = "<RuleId>"
Pomocí příkazu New-MgServicePrincipalSynchronizationJobOnDemand zřiďte testovacího uživatele na vyžádání.
$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]}
Krok 12: Spuštění úlohy zřizování
Zdrojový tenant
Teď, když je úloha zřizování nakonfigurovaná, ve zdrojovém tenantovi spusťte úlohu zřizování pomocí příkazu Start-MgServicePrincipalSynchronizationJob .
Start-MgServicePrincipalSynchronizationJob -ServicePrincipalId $ServicePrincipalId -SynchronizationJobId $JobId
Krok 13: Monitorování zřizování
Zdrojový tenant
Teď, když je úloha zřizování spuštěná, použijte ve zdrojovém tenantovi příkaz Get-MgServicePrincipalSynchronizationJob ke sledování průběhu aktuálního cyklu zřizování a také statistiky k datu, jako je počet uživatelů a skupin vytvořených v cílovém systému.
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]}
Kromě monitorování stavu úlohy zřizování použijte příkaz Get-MgAuditLogProvisioning k načtení protokolů zřizování a získání všech událostí zřizování, ke kterým dochází. Zadejte například dotaz na konkrétního uživatele a určete, jestli se úspěšně zřídil.
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 : {}
Rady pro řešení potíží
Příznak – Chyba nedostatečných oprávnění
Při pokusu o provedení akce se zobrazí chybová zpráva podobná následující:
code: Authorization_RequestDenied
message: Insufficient privileges to complete the operation.
Příčina
Buď přihlášený uživatel nemá dostatečná oprávnění, nebo potřebujete souhlas s jedním z požadovaných oprávnění.
Řešení
Ujistěte se, že máte přiřazené požadované role. Viz požadavky uvedené výše v tomto článku.
Když se přihlásíte pomocí Connect-MgGraph, ujistěte se, že jste zadali požadované obory. Viz krok 1: Přihlášení k cílovému tenantovi a krok 4: Přihlášení ke zdrojovému tenantovi dříve v tomto článku.
Příznak – chyba new-MgPolicyCrossTenantAccessPolicyPartner_Create
Při pokusu o vytvoření nové konfigurace partnera se zobrazí chybová zpráva podobná následující:
New-MgPolicyCrossTenantAccessPolicyPartner_Create: Another object with the same value for property tenantId already exists.
Příčina
Pravděpodobně se pokoušíte vytvořit konfiguraci nebo objekt, který již existuje, pravděpodobně z předchozí konfigurace.
Řešení
Ověřte syntaxi a že používáte správné ID tenanta.
K výpisu existujícího objektu použijte příkaz Get-MgPolicyCrossTenantAccessPolicyPartner .
Pokud máte existující objekt, možná budete muset provést aktualizaci pomocí Update-MgPolicyCrossTenantAccessPolicyPartner.
Příznak – chyba Request_MultipleObjectsWithSameKeyValue
Při pokusu o povolení synchronizace uživatelů se zobrazí chybová zpráva podobná následující:
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.", ... }}}
Příčina
Pravděpodobně se pokoušíte vytvořit zásadu, která už existuje, pravděpodobně z předchozí konfigurace.
Řešení
Ověřte syntaxi a že používáte správné ID tenanta.
-
(Get-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization -CrossTenantAccessPolicyConfigurationPartnerTenantId $SourceTenantId).UserSyncInbound
Pokud máte existující zásadu, možná budete muset provést aktualizaci pomocí příkazu Set-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization , aby se povolila synchronizace uživatelů.
$Params = @{ userSyncInbound = @{ isSyncAllowed = $true } } Set-MgPolicyCrossTenantAccessPolicyPartnerIdentitySynchronization -CrossTenantAccessPolicyConfigurationPartnerTenantId $SourceTenantId -BodyParameter $Params