Udostępnij przez


Zmienianie grup statycznych na dynamiczne grupy członkostwa w usłudze Microsoft Entra ID

Możesz zmienić członkostwo grupy ze statycznej na dynamiczną (lub odwrotnie) w identyfikatorze Entra firmy Microsoft. Identyfikator entra firmy Microsoft zachowuje tę samą nazwę grupy i identyfikator w systemie, więc wszystkie istniejące odwołania do grupy są nadal prawidłowe. Jeśli zamiast tego utworzysz nową grupę, musisz zaktualizować te odwołania.

Tworzenie dynamicznych grup członkostwa eliminuje obciążenie związane z zarządzaniem dodawaniem i usuwaniem użytkowników. W tym artykule pokazano, jak przekonwertować istniejące grupy członkostwa ze statycznych na dynamiczne przy użyciu witryny Azure Portal lub poleceń cmdlet programu PowerShell. W usłudze Microsoft Entra jedna dzierżawa może mieć maksymalnie 15 000 dynamicznych grup członkostwa.

Uwaga / Notatka

Gdy grupa statyczna jest konwertowana na grupę członkostwa dynamicznego, istniejący członkowie, którzy spełniają regułę członkostwa, pozostają. Członkowie, którzy nie spełniają wymagań, są usuwani. Inni użytkownicy, którzy spełniają regułę członkostwa, są dodawani automatycznie. Jeśli grupa jest używana do kontrolowania dostępu do aplikacji lub zasobów, oryginalni członkowie mogą utracić dostęp do momentu pełnego przetworzenia reguły członkostwa.

Zalecamy przetestowanie nowej reguły członkostwa wcześniej, aby upewnić się, że nowe członkostwo w grupie jest zgodnie z oczekiwaniami. Jeśli podczas testu wystąpią błędy, zajrzyj do Rozwiązywanie problemów z licencjami grupowymi.

Wymagania wstępne

  • Aby zmienić typ członkostwa przy użyciu portalu, potrzebne jest konto, które ma co najmniej rolę Administrator grup .

  • Aby zmienić właściwości grupy dynamicznej przy użyciu programu PowerShell, należy użyć poleceń cmdlet z modułu Programu PowerShell programu Microsoft Graph. Aby uzyskać więcej informacji, zobacz Zainstaluj Microsoft Graph PowerShell SDK.

Zmienianie typu członkostwa dla grupy (portal)

  1. Zaloguj się do centrum administracyjnego firmy Microsoft Entra co najmniej jako administrator grup.

  2. Wybierz Microsoft Entra ID.

  3. Wybierz pozycję Grupy.

  4. Na liście Wszystkie grupy otwórz grupę, którą chcesz zmienić.

  5. Wybierz Właściwości.

  6. Na stronie Właściwości grupy wybierz wartość Typ członkostwaPrzypisana (statyczna),Dynamiczny użytkownik lub Urządzenie dynamiczne w zależności od żądanego typu członkostwa. W przypadku dynamicznych grup członkostwa możesz użyć konstruktora reguł, aby wybrać opcje dla prostej reguły lub samodzielnie napisać regułę członkostwa.

    Poniżej przedstawiono przykład zmiany grupy użytkowników ze statycznych na dynamiczne grupy członkostwa:

    1. W polu Typ członkostwa wybierz pozycję Użytkownik dynamiczny. W oknie dialogowym, w ramach którego wyjaśniono zmiany w grupach członkostwa dynamicznego, wybierz pozycję Tak , aby kontynuować.

      Zrzut ekranu przedstawiający wybieranie typu członkostwa użytkownika dynamicznego.

    2. Wybierz pozycję Dodaj zapytanie dynamiczne, a następnie podaj regułę.

      Zrzut ekranu przedstawiający wprowadzanie reguły dla grupy dynamicznej.

  7. Po utworzeniu reguły wybierz pozycję Dodaj zapytanie.

  8. Na stronie Właściwości grupy wybierz pozycję Zapisz , aby zapisać zmiany. Typ członkostwa grupy jest natychmiast aktualizowany na liście grup.

Napiwek

Konwersja grupy może zakończyć się niepowodzeniem, jeśli wprowadzona reguła członkostwa była niepoprawna. W prawym górnym rogu portalu powiadomienie wyjaśnia, dlaczego nie można zaakceptować reguły. Uważnie przeczytaj go, aby dowiedzieć się, jak można dostosować regułę, aby była prawidłowa. Aby zapoznać się z przykładami składni reguły i pełną listą obsługiwanych właściwości, operatorów i wartości dla reguły członkostwa, zobacz Zarządzanie regułami dla dynamicznych grup członkostwa w usłudze Microsoft Entra ID.

Zmienianie typu członkostwa dla grupy (PowerShell)

Oto przykład funkcji, które przełączają zarządzanie członkostwem w istniejącej grupie. Ten przykład poprawnie manipuluje właściwością, GroupTypes aby zachować wszystkie wartości niepowiązane z dynamicznymi grupami członkostwa.

#The moniker for dynamic membership groups, as used in the GroupTypes property of a group object
$dynamicGroupTypeString = "DynamicMembership"

function ConvertDynamicGroupToStatic
{
    Param([string]$groupId)

    #Existing group types
    [System.Collections.ArrayList]$groupTypes = (Get-MgGroup -GroupId $groupId).GroupTypes

    if($groupTypes -eq $null -or !$groupTypes.Contains($dynamicGroupTypeString))
    {
        throw "This group is already a static group. Aborting conversion.";
    }


    #Remove the type for dynamic membership groups, but keep the other type values
    $groupTypes.Remove($dynamicGroupTypeString)

    #Modify the group properties to make it a static group: change GroupTypes to remove the dynamic type, and then pause execution of the current rule
    Update-MgGroup -GroupId $groupId -GroupTypes $groupTypes.ToArray() -MembershipRuleProcessingState "Paused"
}

function ConvertStaticGroupToDynamic
{
    Param([string]$groupId, [string]$dynamicMembershipRule)

    #Existing group types
    [System.Collections.ArrayList]$groupTypes = (Get-MgGroup -GroupId $groupId).GroupTypes

    if($groupTypes -ne $null -and $groupTypes.Contains($dynamicGroupTypeString))
    {
        throw "This group is already a dynamic group. Aborting conversion.";
    }
    #Add the dynamic group type to existing types
    $groupTypes.Add($dynamicGroupTypeString)

    #Modify the group properties to make it a static group: change GroupTypes to add the dynamic type, start execution of the rule, and then set the rule
    Update-MgGroup -GroupId $groupId -GroupTypes $groupTypes.ToArray() -MembershipRuleProcessingState "On" -MembershipRule $dynamicMembershipRule
}

Aby utworzyć grupę statyczną, użyj następującego polecenia:

ConvertDynamicGroupToStatic "a58913b2-eee4-44f9-beb2-e381c375058f"

Aby utworzyć grupę dynamiczną, użyj następującego polecenia:

ConvertStaticGroupToDynamic "a58913b2-eee4-44f9-beb2-e381c375058f" "user.displayName -startsWith ""Peter"""