Поиск по сайту:

Получить-ЕдинаяГруппа - Управление группами Microsoft 365


Командлет Get-UnifiedGroup является частью модуля Exchange Online и позволяет вам просматривать все группы Microsoft 365. Когда вы объединяете командлет с командлетом Get-UnifiedGroupLinks, вы можете просматривать все группы и участников в PowerShell.

Управлять вашими группами Microsoft 365 с помощью модуля Exchange Online может показаться немного странным, но это по-прежнему отлично работает. Однако вы также можете использовать более новый модуль Microsoft Entra PowerShell, если хотите.

В этой статье я покажу вам, как получить информацию о группе Microsoft 365 с помощью команды Get-UnifiedGroup, экспортировать группы в Excel и просмотреть участников группы с помощью команды Get-UnifiedGroupLinks.

Требования

Командлет Get-UnifiedGroup является частью модуля PowerShell для Exchange Online. Прежде чем вы сможете использовать командлет, вам нужно убедиться, что модуль Exchange Online установлен и вы подключены к Exchange Online.

Connect to Exchange Online
Connect-ExchangeOnline -UserPrincipalName admin@contoso.com -ShowBanner:$false

Если вы не подключены к EO, то вы получите следующую ошибку, когда попытаетесь использовать командлет:

Get-UnifiedGroup: термин ‘Get-UnifiedGroup’ не распознается как имя командлета

Получить все группы Microsoft 365

Когда вы запускаете командлет без каких-либо параметров, он просто вернет все группы Microsoft 365 в вашем арендаторе с основной информацией, как вы можете увидеть на скриншоте ниже.

Get-UnifiedGroup

Приведенный выше пример взят из небольшой среды, поэтому у нас есть все группы в одном обзоре. Но когда у вас большая среда, вам, вероятно, захочется использовать некоторые фильтры, чтобы получить только те группы, которые вам нужны.

Когда дело доходит до фильтрации, у нас есть несколько действительно полезных вариантов. Мы можем получать группы, конечно, на основе имени (отображаемого имени), но мы также можем получить все группы с определенным владельцем или без владельца. Или также удобно, все группы, которые были созданы, когда была создана команда Microsoft.

Получить конкретную группу

Мы также можем получить группу Microsoft 365 на основе имени группы или его части. Если вы знаете точное имя, то проще использовать параметр -Identity, за которым следует имя группы.

Но когда вы не знаете точное название, вы также можете использовать опцию -Filter и искать по части названия группы с помощью символов подстановки:

Get group based on name
Get-UnifiedGroup -Identity "Lazy Project"

Use wildcards to find the group
Get-UnifiedGroup -Filter {name -like "Lazy*"}

Получить группу с владельцем или без владельца

Мы также можем получить группы на основе владельца с помощью командлета Get-UnifiedGroup. Это особенно полезно, когда вы хотите узнать, какие группы управляет конкретный пользователь, или, возможно, вам даже нужно заменить владельца нескольких групп.

Чтобы получить владельца, нам необходимо сравнить свойства ManagedBy объектов группы:

Get-UnifiedGroup | Where-Object {$_.ManagedBy -eq "MeganB"}

И чтобы получить все группы без владельца, мы можем использовать следующую команду:

Get-UnifiedGroup | Where-Object {-Not $_.ManagedBy}

Я также создал скрипт, который позволяет вам получить все группы без владельца и автоматически назначить вам владельца. Скрипт может либо установить одного из участников группы в качестве владельца (при этом предоставив вам возможность выбрать его), либо вернуться к пользователю по умолчанию для назначения в качестве владельца.

Получите предоставленные группы Microsoft Teams

Последний вариант, который я хочу вам показать, это как получить все группы, которые создаются при создании Microsoft Team. Для этого мы можем использовать свойство ResourceProvisioningOptions и проверить, равно ли оно Team:

Get-UnifiedGroup -Filter {ResourceProvisioningOptions -eq "Team"}

Экспортировать все группы

Когда вы хотите экспортировать информацию о группе в Excel, важно выбрать только те данные, которые вам действительно нужны. В противном случае вы получите гораздо больше информации, чем вам нужно, что усложнит обработку данных.

Ниже я создал пример с самой полезной информацией, которая вам, вероятно, понадобится. Я также добавил вычисляемое свойство для подсчета числа владельцев группы.

$properties = 
        "DisplayName",
        "AccessType",
        "PrimarySmtpAddress",
        @{
            Name = 'GroupOwnerCount' 
            Expression = { $_.ManagedBy.count }
        },
        "GroupMemberCount",
        "GroupExternalMemberCount",
        "SharePointSiteUrl",
        "ManagedBy",
        "WhenCreated"

Get all groups
Get-UnifiedGroup | Select-Object -Property $properties | Export-CSV -path "C:\temp\groups.csv"

Вы можете найти полный скрипт здесь в моем репозитории на GitHub.

Получить участников группы

Итак, теперь мы знаем, как получить группы Microsoft 365, давайте также посмотрим, как получить участников группы. Чтобы получить участников группы, нам нужно использовать командлет Get-UnifiedGroupLinks. Этот командлет вернет либо участников, либо владельца данной группы.

Чтобы получить участников или владельцев группы, мы можем использовать следующую команду:

Get the group member
Get-UnifiedGroupLinks -Identity "Lazy project" -LinkType member

Get the group owners
Get-UnifiedGroupLinks -Identity "Lazy project" -LinkType owner

Чтобы получить полный обзор, нам нужно объединить обе команды. Мы можем сделать это, используя PSCustomObject, чтобы объединить результаты в одну таблицу. Нам также нужно исключить владельцев из списка участников, потому что владелец всегда также является членом группы.

Я создал сценарий, который получит всех участников и владельцев групп Microsoft 365 для вас, объединит их в один обзор и позволит вам экспортировать результаты в Excel, если вы хотите.

Добавление и удаление участников группы

Последнее, что я хочу вам показать, это как вы можете добавлять и удалять участников или владельцев из группы. Когда дело доходит до владельцев, важно знать, что прежде чем вы сможете добавить пользователя в качестве владельца, вы сначала должны сделать этого пользователя участником. Затем мы можем поднять участника до владельца.

Чтобы удалить владельца, нам нужно обратить шаги, поэтому сначала понизьте владельца до участника группы, а затем мы можем удалить участника.

Чтобы добавить участников в группу, вы можете использовать следующую команду:

Add a user as member
Add-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Members  -Links johndoe@contoso.com

Make from the member user an owner
Add-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Owners -Links johndoe@contoso.com
  • Идентичность: псевдоним, отображаемое имя или адрес электронной почты группы
  • ТипСсылки: могут быть Подписчики, Участники или Владельцы
  • Ссылки: Псевдоним, отображаемое имя или адрес электронной почты пользователей, которых вы хотите добавить. (Несколько пользователей могут быть добавлены через запятую)

Удаление члена или владельца довольно похоже, мы просто используем командлет Remove-UnifiedGroupLinks:

Remove an owner
Remove-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Owners -Links johndoe@contoso.com 
Remove-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Members -Links johndoe@contoso.com

To remove only a member
Remove-UnifiedGroupLinks -Identity "Lazy Project" -LinkType Members -Links janedoe@contoso.com 

Завершение

Всегда полезно регулярно проверять группы и их владельцев в вашем Microsoft 365 арендаторе. Особенно это касается групп, которые автоматически создаются с Teams, так как вы иногда видите множество групп с почти одинаковыми именами. Эти обзоры могут помочь вам выявить проблемы и объединить все группы.

Кроме команды get-unifiedgroup, мы также можем использовать новый модуль PowerShell Microsoft Entra для управления группами. Обязательно ознакомьтесь с ним.

Надеюсь, вам понравится статья. Если у вас есть вопросы, просто оставьте комментарий ниже.