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
Dodawanie 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:
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
Jeśli zwraca
EnableGroupCreation : True
wartość , 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).