Udostępnij za pośrednictwem


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.

Nawiązywanie połączenia z katalogiem

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                     : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    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.

Oto przykład pokazujący, jak ściągnąć wszystkie grupy, które nie mają zastosowanych zasad wygasania

Connect-MgGraph -Scopes 'Group.Read.All'
Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z)" | Format-List Id

W tym przykładzie jest to samo co poprzedni, ale skrypt eksportuje również wyniki do pliku CSV.

Connect-MgGraph -Scopes 'Group.Read.All'
Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z)" | Format-List Id |Export-Csv -Path {path} -NoTypeInformation

W tym ostatnim przykładzie pokazano, jak pobrać tylko grupy należące do usługi Teams

Get-MgGroup -ConsistencyLevel eventual -Count groupCount -Filter "NOT (expirationDateTime+ge+1900-01-01T00:00:00Z) and resourceProvisioningOptions/any(p:p eq 'Team')" | Format-List Id, expirationDateTime, resourceProvisioningOptions

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 "Administratorzy usługi Intune". 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                     : aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb
    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ść "Administratorzy urządzeń usługi Intune":

    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

Dodaj członków

Aby dodać nowych członków do grupy, użyj polecenia cmdlet New-MgGroupMember. To polecenie dodaje członka do grupy Administratorzy 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
--                                   ---------------
aaaaaaaa-bbbb-cccc-1111-222222222222
bbbbbbbb-cccc-dddd-2222-333333333333

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 00aa00aa-bb11-cc22-dd33-44ee44ee44ee -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 00aa00aa-bb11-cc22-dd33-44ee44ee44ee

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 kontroluje zachowanie tylko w portalu Moje grupy.

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 aliasami poczty e-mail o wysokim poziomie uprawnień można utworzyć tylko przez administratora globalnego firmy Microsoft Entra. 

  • nadużycie
  • administrator
  • administrator
  • hostmaster
  • głównadomo
  • Postmaster
  • root
  • bezpieczeństwo
  • security
  • ssl-admin
  • dla administratorów

Zapisywanie zwrotne grup w środowisku lokalnym

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 dla identyfikatora Entra firmy Microsoft przy użyciu synchronizacji z chmurą Firmy Microsoft Entra jest teraz dostępna.

Ważne

Publiczna wersja zapoznawcza funkcji zapisywania zwrotnego grup w wersji 2 w programie Microsoft Entra Connect Sync nie będzie już dostępna po 30 czerwca 2024 r. Ta funkcja zostanie wycofana począwszy od tej daty i nie będzie już obsługiwana wConnect Sync, na potrzeby aprowizowania grup zabezpieczeń w chmurze w usłudze Active Directory. Funkcja będzie nadal działać poza datą wycofania; jednakże nie będzie już otrzymywać wsparcia po tej dacie i może przestać działać w dowolnym momencie bez powiadomienia.

Oferujemy podobne funkcje w usłudze Microsoft Entra Cloud Sync o nazwie Aprowizacja grupy w usłudze Active Directory, których można użyć zamiast zapisywania zwrotnego grup w wersji 2 na potrzeby aprowizowania grup zabezpieczeń w chmurze w usłudze Active Directory. Pracujemy nad ulepszeniem tej funkcji w usłudze Cloud Sync wraz z innymi nowymi funkcjami, które opracowujemy w Cloud Sync.

Klienci korzystający z tej funkcji w wersji zapoznawczej w Connect Sync powinni przełączyć konfigurację z Connect Sync na Cloud Sync. Możesz przenieść całą synchronizację hybrydową do Cloud Sync (jeśli obsługuje Twoje potrzeby). Możesz również uruchamiać Cloud Sync obok siebie i przenosić tylko aprowizację grupy zabezpieczeń w chmurze do Active Directory w Cloud Sync.

W przypadku klientów, którzy aprowizują grupy Microsoft 365 do Active Directory, mogą oni nadal korzystać z funkcji zapisywania zwrotnego grup w wersji 1 w tym celu.

Możesz ocenić przeniesienie wyłącznie do usługi Cloud Sync przy użyciu kreatora synchronizacji użytkownika.

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).