Polecenia cmdlet programu Microsoft Entra w wersji 2 na potrzeby zarządzania grupami

Ten artykuł zawiera przykłady używania programu PowerShell do zarządzania grupami w usłudze Microsoft Entra ID, części firmy Microsoft Entra. Informuje również, jak skonfigurować moduł Microsoft Graph PowerShell. Najpierw należy pobrać moduł Programu PowerShell programu Microsoft Graph.

Instalowanie modułu Programu PowerShell programu Microsoft Graph

Aby zainstalować moduł MgGroup PowerShell, użyj następujących poleceń:

    PS C:\Windows\system32> Install-module Microsoft.Graph

Aby sprawdzić, czy moduł jest gotowy do użycia, użyj następującego polecenia:

PS C:\Windows\system32> Get-Module -Name "*graph*"

ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Script     1.27.0                Microsoft.Graph.Authentication      {Add-MgEnvironment, Connect-MgGraph, Disconnect-MgGraph, Get-MgContext…}
Script     1.27.0                Microsoft.Graph.Groups              {Add-MgGroupDriveListContentTypeCopy, Add-MgGroupDriveListContentTypeCopyF…

Teraz możesz rozpocząć korzystanie z poleceń cmdlet w module. Pełny opis poleceń cmdlet w module programu Microsoft Graph można znaleźć w dokumentacji referencyjnej online dla programu Microsoft Graph PowerShell.

Połączenie do katalogu

Przed rozpoczęciem zarządzania grupami przy użyciu poleceń cmdlet programu PowerShell programu Microsoft Graph należy połączyć sesję programu PowerShell z katalogiem, którym chcesz zarządzać. Użyj następującego polecenia:

    PS C:\Windows\system32> Connect-MgGraph -Scopes "Group.ReadWrite.All"

Polecenie cmdlet wyświetli monit o podanie poświadczeń, których chcesz użyć do uzyskania dostępu do katalogu. W tym przykładzie używamy karen@drumkit.onmicrosoft.com metody w celu uzyskania dostępu do katalogu demonstracyjnego. Polecenie cmdlet zwraca potwierdzenie, aby pokazać, że sesja została pomyślnie połączona z katalogiem:

    Welcome To Microsoft Graph!

Teraz możesz zacząć używać poleceń cmdlet MgGraph do zarządzania grupami w katalogu.

Pobieranie grup

Aby pobrać istniejące grupy z katalogu, użyj polecenia cmdlet Get-MgGroups.

Aby pobrać wszystkie grupy w katalogu, użyj polecenia cmdlet bez parametrów:

    PS C:\Windows\system32> Get-MgGroup -All

Polecenie cmdlet zwraca wszystkie grupy w połączonym katalogu.

Możesz użyć parametru -GroupId, aby pobrać określoną grupę, dla której określisz identyfikator objectID grupy:

    PS C:\Windows\system32> Get-MgGroup -GroupId 5e3eba05-6c2b-4555-9909-c08e997aab18 | fl

Polecenie cmdlet zwraca teraz grupę, której identyfikator objectID odpowiada wartości wprowadzonego parametru:

AcceptedSenders               :
AllowExternalSenders          :
AppRoleAssignments            :
AssignedLabels                :
AssignedLicenses              :
AutoSubscribeNewMembers       :
Calendar                      : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCalendar
CalendarView                  :
Classification                :
Conversations                 :
CreatedDateTime               : 14-07-2023 14:25:49
CreatedOnBehalfOf             : Microsoft.Graph.PowerShell.Models.MicrosoftGraphDirectoryObject
DeletedDateTime               :
Description                   : Sales and Marketing
DisplayName                   : Sales and Marketing
Id                            : f76cbbb8-0581-4e01-a0d4-133d3ce9197f
IsArchived                    :
IsAssignableToRole            :
IsSubscribedByMail            :
LicenseProcessingState        : Microsoft.Graph.PowerShell.Models.MicrosoftGraphLicenseProcessingState
Mail                          : SalesAndMarketing@M365x64647001.onmicrosoft.com
MailEnabled                   : True
MailNickname                  : SalesAndMarketing
RejectedSenders               :
RenewedDateTime               : 14-07-2023 14:25:49
SecurityEnabled               : True

Możesz wyszukać określoną grupę przy użyciu parametru -filter. Ten parametr przyjmuje klauzulę filtru ODATA i zwraca wszystkie grupy zgodne z filtrem, jak w poniższym przykładzie:

    PS C:\Windows\system32> Get-MgGroup -Filter "DisplayName eq 'Intune Administrators'"


    DeletionTimeStamp            :
    ObjectId                     : 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df
    ObjectType                   : Group
    Description                  : Intune Administrators
    DirSyncEnabled               :
    DisplayName                  : Intune Administrators
    LastDirSyncTime              :
    Mail                         :
    MailEnabled                  : False
    MailNickName                 : 4dd067a0-6515-4f23-968a-cc2ffc2eff5c
    OnPremisesSecurityIdentifier :
    ProvisioningErrors           : {}
    ProxyAddresses               : {}
    SecurityEnabled              : True

Uwaga

Polecenia cmdlet programu PowerShell grupy mggroup implementują standard zapytania OData. Aby uzyskać więcej informacji, zobacz $filter w opcjach zapytania systemu OData przy użyciu punktu końcowego OData.

Utwórz grupy

Aby utworzyć nową grupę w katalogu, użyj polecenia cmdlet New-MgGroup. To polecenie cmdlet tworzy nową grupę zabezpieczeń o nazwie "Marketing":

$param = @{
 description="My Demo Group"
 displayName="DemoGroup"
 mailEnabled=$false
 securityEnabled=$true
 mailNickname="Demo"
}

New-MgGroup @param

Zaktualizuj grupy

Aby zaktualizować istniejącą grupę, użyj polecenia cmdlet Update-MgGroup. W tym przykładzie zmieniamy właściwość DisplayName grupy "Intune Administracja istrators". Najpierw znajdujemy grupę przy użyciu polecenia cmdlet Get-MgGroup i filtrujemy przy użyciu atrybutu DisplayName:

    PS C:\Windows\system32> Get-MgGroup -Filter "DisplayName eq 'Intune Administrators'"


    DeletionTimeStamp            :
    ObjectId                     : 31f1ff6c-d48c-4f8a-b2e1-abca7fd399df
    ObjectType                   : Group
    Description                  : Intune Administrators
    DirSyncEnabled               :
    DisplayName                  : Intune Administrators
    LastDirSyncTime              :
    Mail                         :
    MailEnabled                  : False
    MailNickName                 : 4dd067a0-6515-4f23-968a-cc2ffc2eff5c
    OnPremisesSecurityIdentifier :
    ProvisioningErrors           : {}
    ProxyAddresses               : {}
    SecurityEnabled              : True

Następnie zmieniamy właściwość Description na nową wartość "Intune Device Administracja istrators":

    PS C:\Windows\system32> Update-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b -Description "Demo Group Updated"

Teraz, jeśli ponownie znajdziemy grupę, zobaczymy, że właściwość Description zostanie zaktualizowana, aby odzwierciedlić nową wartość:

    PS C:\Windows\system32> Get-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b | select displayname, description

    DisplayName Description
    ----------- -----------
    DemoGroup   Demo Group Updated

Usuwanie grup

Aby usunąć grupy z katalogu, użyj polecenia cmdlet Remove-MgGroup w następujący sposób:

    PS C:\Windows\system32> Remove-MgGroup -GroupId 958d212c-14b0-43d0-a052-d0c2bb555b8b

Zarządzanie członkostwem w grupie

Dodawanie członków

Aby dodać nowych członków do grupy, użyj polecenia cmdlet Add-MgGroupMember. To polecenie dodaje członka do grupy Administracja istratorów usługi Intune, która została użyta w poprzednim przykładzie:

    PS C:\Windows\system32> New-MgGroupMember -GroupId f76cbbb8-0581-4e01-a0d4-133d3ce9197f -DirectoryObjectId a88762b7-ce17-40e9-b417-0add1848eb68

Parametr -GroupId jest identyfikatorem ObjectID grupy, do której chcemy dodać element członkowski, a -DirectoryObjectId jest identyfikatorem ObjectID użytkownika, który chcemy dodać jako członek do grupy.

Pobieranie członków

Aby uzyskać istniejących członków grupy, użyj polecenia cmdlet Get-MgGroupMember, jak w tym przykładzie:

    PS C:\Windows\system32> Get-MgGroupMember -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4

Id                                   DeletedDateTime
--                                   ---------------
71b3857d-2a23-416d-bd22-a471854ddada
fd2d57c7-22ad-42cd-961a-7340fb2eb6b4

Usuń członków

Aby usunąć element członkowski, który został wcześniej dodany do grupy, użyj polecenia cmdlet Remove-MgGroupMember, jak pokazano poniżej:

    PS C:\Windows\system32> Remove-MgGroupMemberByRef -DirectoryObjectId 053a6a7e-4a75-48bc-8324-d70f50ec0d91 -GroupId 2c52c779-8587-48c5-9d4a-c474f2a66cf4

Weryfikowanie członków

Aby sprawdzić członkostwo w grupach użytkownika, użyj polecenia cmdlet Select-MgGroupIdsUserIsMemberOf. To polecenie cmdlet przyjmuje jako parametry ObjectId użytkownika, dla którego należy sprawdzić członkostwo w grupach, oraz listę grup, dla których mają być sprawdzane członkostwa. Lista grup musi być podana w postaci zmiennej złożonej typu "Microsoft.Open.AzureAD.Model.GroupIdsForMembershipCheck", dlatego najpierw musimy utworzyć zmienną o tym typie:

Get-MgUserMemberOf -UserId 053a6a7e-4a75-48bc-8324-d70f50ec0d91

Id                                   DisplayName Description GroupTypes AccessType
--                                   ----------- ----------- ---------- ----------
5dc16449-3420-4ad5-9634-49cd04eceba0 demogroup   demogroup    {Unified}

Zwracana wartość to lista grup, których ten użytkownik jest członkiem. Tę metodę można również zastosować, aby sprawdzić członkostwo w kontaktach, grupach lub jednostkach usługi dla danej listy grup przy użyciu polecenia Select-MgGroupIdsContactIsMemberOf, Select-MgGroupIdsGroupIsMemberOf lub Select-MgGroupIdsServicePrincipalIsMemberOf

Wyłączanie tworzenia grup przez użytkowników

Możesz uniemożliwić użytkownikom niebędącym administratorem tworzenie grup zabezpieczeń. Domyślne zachowanie w usługach Microsoft Online Directory Services (MSODS) polega na umożliwieniu użytkownikom niebędącym administratorem tworzenia grup, niezależnie od tego, czy samoobsługowe zarządzanie grupami (SSGM) jest również włączone. Ustawienie SSGM steruje zachowaniem tylko w panelu dostępu Moje aplikacje.

Aby wyłączyć tworzenie grup dla użytkowników niebędących administratorami:

  1. Sprawdź, czy użytkownicy niebędący administratorami mogą tworzyć grupy:

    PS C:\> Get-MgBetaDirectorySetting | select -ExpandProperty values
    
     Name                            Value
     ----                            -----
     NewUnifiedGroupWritebackDefault true
     EnableMIPLabels                 false
     CustomBlockedWordsList
     EnableMSStandardBlockedWords    false
     ClassificationDescriptions
     DefaultClassification
     PrefixSuffixNamingRequirement
     AllowGuestsToBeGroupOwner       false
     AllowGuestsToAccessGroups       true
     GuestUsageGuidelinesUrl
     GroupCreationAllowedGroupId
     AllowToAddGuests                true
     UsageGuidelinesUrl
     ClassificationList
     EnableGroupCreation             true
    
  2. Jeśli zwraca EnableGroupCreation : Truewartość , użytkownicy niebędący administratorami mogą tworzyć grupy. Aby wyłączyć tę funkcję:

     Install-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
     Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
     $params = @{
     TemplateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
     Values = @(		
     	@{
     		Name = "EnableGroupCreation"
     		Value = "false"
     	}		
     )
     }
     Connect-MgGraph -Scopes "Directory.ReadWrite.All"
     New-MgBetaDirectorySetting -BodyParameter $params
    
    

Zarządzanie właścicielami grup

Aby dodać właścicieli do grupy, użyj polecenia cmdlet New-MgGroupOwner:

    PS C:\Windows\system32> New-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867

Parametr -GroupId jest identyfikatorem ObjectID grupy, do której chcemy dodać właściciela, a -DirectoryObjectId jest identyfikatorem ObjectID użytkownika lub jednostki usługi, którą chcemy dodać jako właściciel.

Aby pobrać właścicieli grupy, użyj polecenia cmdlet Get-MgGroupOwner:

    PS C:\Windows\system32> Get-MgGroupOwner -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497

Polecenie cmdlet zwraca listę właścicieli (użytkowników i jednostek usługi) dla określonej grupy:

    Id                                       DeletedDateTime
    --                                       ---------------
    8ee754e0-743e-4231-ace4-c28d20cf2841
    85b1df54-e5c0-4cfd-a20b-8bc1a2ca7865
    4451b332-2294-4dcf-a214-6cc805016c50

Jeśli chcesz usunąć właściciela z grupy, użyj polecenia cmdlet Remove-MgGroupOwnerByRef:

    PS C:\Windows\system32> Remove-MgGroupOwnerByRef -GroupId 0e48dc96-3bff-4fe1-8939-4cd680163497 -DirectoryObjectId 92a0dad0-7c9e-472f-b2a3-0fe2c9a02867

Aliasy zarezerwowane

Po utworzeniu grupy niektóre punkty końcowe umożliwiają użytkownikowi końcowemu określenie nazwy mailNickname lub aliasu, który ma być używany jako część adresu e-mail grupy. Grupy z następującymi wysoce uprzywilejowanymi aliasami poczty e-mail mogą być tworzone tylko przez firmę Microsoft Entra Global Administracja istrator. 

  • Nadużyć
  • administrator
  • Administratora
  • hostmaster
  • głównadomo
  • Postmaster
  • root
  • bezpieczeństwo
  • security
  • ssl-admin
  • Webmaster

Zapisywanie zwrotne grup w środowisku lokalnym (wersja zapoznawcza)

Obecnie wiele grup jest nadal zarządzanych w lokalna usługa Active Directory. Aby odpowiedzieć na żądania synchronizacji grup w chmurze z powrotem do środowiska lokalnego, funkcja zapisywania zwrotnego grup platformy Microsoft 365 dla identyfikatora Entra firmy Microsoft jest teraz dostępna w wersji zapoznawczej.

Grupy platformy Microsoft 365 są tworzone i zarządzane w chmurze. Funkcja zapisywania zwrotnego umożliwia zapisywanie kopii zapasowych grup platformy Microsoft 365 jako grup dystrybucyjnych do lasu usługi Active Directory z zainstalowanym programem Exchange. Użytkownicy z lokalnymi skrzynkami pocztowymi programu Exchange mogą następnie wysyłać i odbierać wiadomości e-mail z tych grup. Funkcja zapisywania zwrotnego grup nie obsługuje grup zabezpieczeń ani grup dystrybucyjnych firmy Microsoft.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją usługi Microsoft Entra Połączenie Sync.

Zapisywanie zwrotne grup platformy Microsoft 365 to funkcja publicznej wersji zapoznawczej identyfikatora Entra firmy Microsoft i jest dostępna z dowolnym płatnym planem licencji Microsoft Entra ID. Aby uzyskać więcej informacji na temat wersji zapoznawczych, zobacz Uniwersalne postanowienia licencyjne dotyczące usług online.

Następne kroki

Więcej dokumentacji programu PowerShell usługi Azure Active Directory można znaleźć w sekcji Microsoft Entra Cmdlets (Polecenia cmdlet firmy Microsoft Entra).