分享方式:


修改 Microsoft Entra Connect 群組回寫預設行為

群組回寫是一個功能,可讓您使用 Microsoft Entra Connect 同步,將雲端群組回寫到您的內部部署的 Active Directory 執行個體。您可以透過下列方式變更此行為:

  • 只有設定回寫的群組才會寫回,包括新建立的 Microsoft 365 群組。
  • 群組寫入 Active Directory 後,如果停用群組回寫、虛刪除或在 Microsoft Entra ID 中實刪除,Active Directory 都會刪除這些群組。
  • 有多達 250,000 個成員的 Microsoft 365 群組可以寫回內部部署環境。

本文將詳細介紹在修改 Microsoft Entra Connect 群組回寫的預設行為時,會有哪些選項。

現有部署的考量

如果原始版本的群組回寫已經啟用,且已在您的環境中使用,就表示所有的 Microsoft 365 群組都已經寫回 Active Directory。 先不要停用所有的 Microsoft 365 群組,而是檢閱先前已寫回群組的使用情形。 請只停用內部部署的 Active Directory不再需要的那些群組。

停用新 Microsoft 365 群組的自動回寫

若要進行目錄設定,以停用新建立 Microsoft 365 群組的自動回寫,請使用下列其中一種方法:

  • PowerShell:使用 Microsoft Graph Beta PowerShell SDK。 例如:

      # Import Module
      Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
    
      #Connect to MgGraph with necessary scope
      Connect-MgGraph -Scopes Directory.ReadWrite.All
    
    
      # Verify if "Group.Unified" directory settings exist
      $DirectorySetting = Get-MgBetaDirectorySetting| Where-Object {$_.DisplayName -eq "Group.Unified"}
    
      # If "Group.Unified" directory settings exist, update the value for new unified group writeback default
      if ($DirectorySetting) 
      {
        $params = @{
          Values = @(
            @{
              Name = "NewUnifiedGroupWritebackDefault"
              Value = $false
            }
          )
        }
        Update-MgBetaDirectorySetting -DirectorySettingId $DirectorySetting.Id -BodyParameter $params
      }
      else
      {
        # In case the directory setting doesn't exist, create a new "Group.Unified" directory setting
        # Import "Group.Unified" template values to a hashtable
        $Template = Get-MgBetaDirectorySettingTemplate | Where-Object {$_.DisplayName -eq "Group.Unified"}
        $TemplateValues = @{}
        $Template.Values | ForEach-Object {
            $TemplateValues.Add($_.Name, $_.DefaultValue)
        }
    
        # Update the value for new unified group writeback default
        $TemplateValues["NewUnifiedGroupWritebackDefault"] = $false
    
        # Create a directory setting using the Template values hashtable including the updated value
        $params = @{}
        $params.Add("TemplateId", $Template.Id)
        $params.Add("Values", @())
        $TemplateValues.Keys | ForEach-Object {
            $params.Values += @(@{Name = $_; Value = $TemplateValues[$_]})
        }
        New-MgBetaDirectorySetting -BodyParameter $params
      }
    

注意

我們建議搭配 PowerShell 7 使用 Microsoft Graph PowerShell SDK。

停用所有現有 Microsoft 365 群組的回寫

若要停用這些修改之前建立之所有 Microsoft 365 群組的回寫,請使用下列其中一種方法:

  • 入口網站:使用 Microsoft Entra 系統管理中心

  • PowerShell:使用 Microsoft Graph Beta PowerShell SDK。 例如:

      #Import-module
      Import-Module Microsoft.Graph.Beta
    
      #Connect to MgGraph with necessary scope
      Connect-MgGraph -Scopes Group.ReadWrite.All
    
      #List all Microsoft 365 Groups
      $Groups = Get-MgBetaGroup -All | Where-Object {$_.GroupTypes -like "*unified*"}
    
      #Disable Microsoft 365 Groups
      Foreach ($group in $Groups) 
      {
        Update-MgBetaGroup -GroupId $group.id -WritebackConfiguration @{isEnabled=$false}
      }
    
  • Microsoft Graph Explorer:使用群組物件

群組已停用回寫或虛刪除時刪除群組

注意

刪除 Active Directory 中的回寫群組之後,如果重新啟用回寫或從虛刪除狀態還原,回寫群組不會自動從 Active Directory 資源回收筒還原。 將會建立新的群組。 在重新啟用回寫之前,從 Active Directory 資源回收筒還原的已刪除群組,或從 Microsoft Entra ID 中的虛刪除狀態還原的群組,將會加入其各自的 Microsoft Entra 群組。

  1. 在 Microsoft Entra Connect 伺服器上,以管理員身分開啟 PowerShell 提示。

  2. 停用 Microsoft Entra Connect 同步排程器

    Set-ADSyncScheduler -SyncCycleEnabled $false  
    
  3. 在 Microsoft Entra Connect 中建立自訂同步處理規則,以在停用回寫或虛刪除時刪除回寫的群組:

    import-module ADSync 
    $precedenceValue = Read-Host -Prompt "Enter a unique sync rule precedence value [0-99]" 
    
    New-ADSyncRule  `
    -Name 'In from AAD - Group SOAinAAD Delete WriteBackOutOfScope and SoftDelete' `
    -Identifier 'cb871f2d-0f01-4c32-a333-ff809145b947' `
    -Description 'Delete AD groups that fall out of scope of Group Writeback or get Soft Deleted in Azure AD' `
    -Direction 'Inbound' `
    -Precedence $precedenceValue `
    -PrecedenceAfter '00000000-0000-0000-0000-000000000000' `
    -PrecedenceBefore '00000000-0000-0000-0000-000000000000' `
    -SourceObjectType 'group' `
    -TargetObjectType 'group' `
    -Connector 'b891884f-051e-4a83-95af-2544101c9083' `
    -LinkType 'Join' `
    -SoftDeleteExpiryInterval 0 `
    -ImmutableTag '' `
    -OutVariable syncRule
    
    Add-ADSyncAttributeFlowMapping  `
    -SynchronizationRule $syncRule[0] `
    -Destination 'reasonFiltered' `
    -FlowType 'Expression' `
    -ValueMergeType 'Update' `
    -Expression 'IIF((IsPresent([reasonFiltered]) = True) && (InStr([reasonFiltered], "WriteBackOutOfScope") > 0 || InStr([reasonFiltered], "SoftDelete") > 0), "DeleteThisGroupInAD", [reasonFiltered])' `
     -OutVariable syncRule
    
    New-Object  `
    -TypeName 'Microsoft.IdentityManagement.PowerShell.ObjectModel.ScopeCondition' `
    -ArgumentList 'cloudMastered','true','EQUAL' `
    -OutVariable condition0
    
    Add-ADSyncScopeConditionGroup  `
    -SynchronizationRule $syncRule[0] `
    -ScopeConditions @($condition0[0]) `
    -OutVariable syncRule
    
    New-Object  `
    -TypeName 'Microsoft.IdentityManagement.PowerShell.ObjectModel.JoinCondition' `
    -ArgumentList 'cloudAnchor','cloudAnchor',$false `
    -OutVariable condition0
    
    Add-ADSyncJoinConditionGroup  `
    -SynchronizationRule $syncRule[0] `
    -JoinConditions @($condition0[0]) `
    -OutVariable syncRule
    
    Add-ADSyncRule  `
    -SynchronizationRule $syncRule[0]
    
    Get-ADSyncRule  `
    -Identifier 'cb871f2d-0f01-4c32-a333-ff809145b947'
    
  4. 啟用群組回寫

  5. 啟用 Microsoft Entra Connect 同步排程器:

    Set-ADSyncScheduler -SyncCycleEnabled $true  
    

注意

若建立同步處理規則,會讓 Microsoft Entra 連接器上的完整同步處理旗標設定為 true。 這項變更會導致規則變更在下一個同步處理週期時傳遍。

回寫有多達 250,000 個成員的 Microsoft 365 群組

由於在啟用群組回寫時建立了可限制群組大小的預設同步規則,因此必須在啟用群組回寫之後完成下列步驟:

  1. 在 Microsoft Entra Connect 伺服器上,以管理員身分開啟 PowerShell 提示。

  2. 停用 Microsoft Entra Connect 同步排程器

    Set-ADSyncScheduler -SyncCycleEnabled $false  
    
  3. 開啟同步化規則編輯器

  4. 將方向設定為 [輸出]

  5. 找出並停用「輸出至 AD – 群組回寫成員限制」同步規則。

  6. 啟用 Microsoft Entra Connect 同步排程器:

    Set-ADSyncScheduler -SyncCycleEnabled $true  
    

注意

若停用同步處理規則,會將 Microsoft Entra 連接器上的完整同步處理旗標設定為 true。 這項變更會導致規則變更在下一個同步處理週期時傳遍。

從 Active Directory 資源回收筒還原

如果您要在已停用回寫或虛刪除時,將預設行為更新為刪除群組,建議您為 Active Directory 的內部部署執行個體啟用 Active Directory 資源回收筒功能。 您可使用這項功能手動還原先前刪除的 Active Directory 群組,以便在意外停用回寫或虛刪除時,重新加入其各自的 Microsoft Entra 群組。

在 Microsoft Entra ID 中進行虛刪除後,要重新啟用回寫或還原之前,您必須先在 Active Directory 中還原群組。

下一步