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 zacząć używać cmdletów 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, aby uzyskać dostęp do katalogu demonstracyjnego. Polecenie cmdlet zwraca potwierdzenie, wskazujące, ż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.

Pobierz grupy

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 wyciągnąć wszystkie grupy, które nie mają zastosowanej polityki wygaśnięcia

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 (komenda) 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ść Opis na nową wartość "Administratorzy urządzeń 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 grupy ObjectID. Musimy określić identyfikator ObjectID używanej grupy. -DirectoryObjectId jest identyfikatorem ObjectID użytkownika, który chcemy dodać jako członek 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ąć członka wcześniej dodanego do grupy, użyj polecenia cmdlet Remove-MgGroupMember, jak pokazano tutaj:

    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. Można również zastosować tę metodę, aby sprawdzić członkostwo Kontaktów, Grup lub Podmiotów Usługi w danej liście grup, używając poleceń Select-MgGroupIdsContactIsMemberOf, Select-MgGroupIdsGroupIsMemberOf lub Select-MgGroupIdsServicePrincipalIsMemberOf.

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

Możesz uniemożliwić użytkownikom standardowym tworzenie grup zabezpieczeń. Domyślne zachowanie w usługach Microsoft Online Directory Services (MSODS) polega na umożliwieniu użytkownikom standardowym tworzenia grup, niezależnie od tego, czy jest włączone samoobsługowe zarządzanie grupami (SSGM). Ustawienie SSGM kontroluje zachowanie tylko w portalu Moje grupy.

Aby wyłączyć tworzenie grup dla użytkowników standardowych:

  1. Sprawdź, czy użytkownicy standardowi 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 : True, użytkownicy standardowi 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. -DirectoryObjectId to identyfikator ObjectID użytkownika lub głównego elementu usługi, którego chcemy dodać jako właściciela.

Aby pobrać właścicieli grupy, użyj cmdletu 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

Podczas tworzenia grupy użytkownicy określają nazwę mailNickname lub alias używany przez system jako część adresu e-mail grupy. Tworzenie grup z dowolnym z wymienionych aliasów poczty e-mail o wysokim poziomie uprawnień jest ograniczone do administratorów globalnych firmy Microsoft Entra. 

  • nadużycie
  • admin
  • administrator
  • hostmaster
  • majordomus
  • Administratort poczty
  • korzeń
  • bezpieczeństwo
  • bezpieczeństwo
  • ssl-admin
  • webmaster

Zapisywanie zwrotne grup w środowisku lokalnym

Obecnie wiele grup jest nadal zarządzanych w lokalnej usłudze Active Directory. Aby odpowiedzieć na żądania synchronizacji grup w chmurze z powrotem do środowiska lokalnego, funkcja przesyłania zwrotnego grup dla Microsoft Entra ID przy użyciu synchronizacji z chmurą Microsoft Entra jest teraz dostępna.

Ważne

Wersja zapoznawcza dla publiczności funkcji Grupowego Zapisywania Zwrotnego w wersji 2 w usłudze 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 podobną funkcjonalność w usłudze Microsoft Entra Cloud Sync o nazwie Provisioning grup do Active Directory, której można użyć zamiast funkcji Group Writeback v2 do aprowizacji 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 równolegle i przenosić wyłącznie aprowizację grup zabezpieczeń w chmurze do Active Directory do 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ć przejście wyłącznie na Cloud Sync przy użyciu kreatora synchronizacji użytkownika.

Następne kroki

Więcej dokumentacji PowerShell dla Microsoft Entra ID można znaleźć na stronie Microsoft Entra Cmdlets.