Подробное изучение командлетов Office 365 PowerShell (часть 8)

Опубликовано: 11 Марта, 2023
Подробное изучение командлетов Office 365 PowerShell (часть 8)

Если вы хотите прочитать другие части этой серии статей, перейдите по ссылке:

  • Подробное изучение командлетов Office 365 PowerShell (часть 1)
  • Подробное изучение командлетов Office 365 PowerShell (часть 2)
  • Подробное изучение командлетов Office 365 PowerShell (часть 3)
  • Подробное изучение командлетов Office 365 PowerShell (часть 4)
  • Подробное изучение командлетов Office 365 PowerShell (часть 5)
  • Подробное изучение командлетов Office 365 PowerShell (часть 6)
  • Подробное изучение командлетов Office 365 PowerShell (часть 7)

В части 7 мы также объяснили командлет PowerShell Get-MsolGroup, который можно использовать для получения списка групп, созданных в арендаторе Office 365, и командлет Get-MsolGroupMember PowerShell для получения члена групп Office 365. В этой статье мы продолжим объяснять сценарий PowerShell, который можно использовать для предоставления сводки по группам Office 365, и еще один сценарий PowerShell, который будет полезен, чтобы узнать, сколько групп Office 365 было создано без добавления текста описания. Оба сценария PowerShell, описанные в этой статье, используют командлет PowerShell Get-MsolGroup. Чтобы использовать оба сценария PowerShell, запустите их с компьютера, на котором установлен модуль Windows Azure Active Directory для Windows PowerShell. Предполагается, что вы подключились к арендатору Office 365, используя учетную запись, у которой есть разрешения на сбор данных из Office 365 WAAD.

Сводка отчетов по группам Office 365

Если вам нужно сообщить о количестве групп Office 365, созданных в арендаторе Office 365, вы можете использовать приведенный ниже сценарий PowerShell. Ниже сценарий PowerShell собирает количество групп списка рассылки, количество групп безопасности, количество групп MainEnabledSecurity и количество групп, которые были синхронизированы из локальной Active Directory.
### Запустить скрипт ###

$Результат = "C:TempResult.CSV"
ЕСЛИ (тестовый путь $результат)
{
Удалить элемент $Result
}
$STR = «Элемент, стоимость»
Добавить контент $Result $STR

$Ошибка.Очистить()
$AllGroups = Get-Msolgroup-All
ЕСЛИ ($Error.Count -eq 0)
{
$TotDistGroups = ($AllGroups | Where-Object {$_.GroupType -eq 'DistributionList'}).Count
$TotSecGroups = ($AllGroups | Where-Object {$_.GroupType -eq 'Безопасность'}).Count
$TotMailGroups = ($AllGroups | Where-Object {$_.GroupType -eq 'MailEnabledSecurity'}).Count
$AllGroupsSynced = Get-Msolgroup -MaxResults 200 | Где-Объект {$_.LastDirSyncTime –ne $null}

Узел записи «Всего групп рассылки:» $TotDistGroups
Запись-хост «Total Security Groups:» $TotSecGroups
Write-Host «Всего групп MailEnabledSecurity: » $TotMailGroups
Write-Host «Всего групп, синхронизированных из локальной Active Directory:» $AllGroupsSynced

$STR = «Количество групп рассылки:», «+$TotDistGroups
Добавить контент $Result $STR
$STR = "Количество групп безопасности:, "+$TotSecGroups
Добавить контент $Result $STR
$STR = «Количество групп безопасности с поддержкой почты:», «+$TotMailGroups
Добавить контент $Result $STR
$STR = «Количество групп, синхронизированных локально:», «+$AllGroupsSynced
Добавить контент $Result $STR
}
еще
{
Write-Host «Произошли некоторые ошибки при выполнении команды Get-MsolGroup»
}
Write-Host «Результаты сохранены в $Result»

### Конец сценария ###

После завершения выполнения скрипта вы увидите файл отчета с именем Result.CSV в папке C:Temp. Файл отчета выглядит так, как показано на скриншоте ниже:

Сообщения о группах Office 365 без описания

При создании группы Office 365 вас попросят предоставить описание группы. Поле Описание предназначено для объяснения цели создания группы Office 365. Хотя поле «Описание» является необязательным, оно играет важную роль, когда у вас есть тысячи групп Office 365, созданных в арендаторе Office 365, и вы не знаете, зачем вы создали эти группы. Вы можете использовать приведенный ниже сценарий PowerShell, чтобы получить список групп Office 365, для которых не задано описание.
### Запустить скрипт ###

$Result = "C:TempGroupsWithoutDescription.CSV"
ЕСЛИ (тестовый путь $результат)
{
Удалить элемент $Result
}
$STR = «Элемент, значение, тип группы»
Добавить контент $Result $STR

$Ошибка.Очистить()
$AllGroups = Get-Msolgroup –All | Где-Объект {$_.Описание –eq $null}
ЕСЛИ ($Error.Count -eq 0)
{
$TotDistGroups = ($AllGroups | Where-Object {$_.GroupType -eq 'DistributionList'}).Count
$TotSecGroups = ($AllGroups | Where-Object {$_.GroupType -eq 'Безопасность'}).Count
$TotMailGroups = ($AllGroups | Where-Object {$_.GroupType -eq 'MailEnabledSecurity'}).Count

Write-Host «Всего групп рассылки без описания:» $TotDistGroups
Write-Host «Всего групп безопасности без описания:» $TotSecGroups
Write-Host «Всего групп MailEnabledSecurity без описания:» $TotMailGroups

$STR = «Количество групп рассылки без описания:», «+$TotDistGroups
Добавить контент $Result $STR
$STR = «Количество групп безопасности без описания:», «+$TotSecGroups
Добавить контент $Result $STR
$STR = «Количество групп безопасности с включенной поддержкой почты без описания:», «+$TotMailGroups
Добавить контент $Result $STR

ForEach ($allGroupsNow в $AllGroups)
{
$STRNew = ","+$allGroupsNow.DisplayName+","",+$allGroupsNow.GroupType
Добавить содержимое $Result $STRNew
}

}
еще
{
Write-Host «Произошли некоторые ошибки при выполнении команды Get-MsolGroup»
}
Write-Host «Результаты сохранены в $Result»

### Конец сценария ###

Как вы можете видеть в сценарии выше, мы используем «$AllGroups = Get-Msolgroup | Where-Object {$_.Description –eq $null}» команда PowerShell, чтобы получить все группы Office 365, а затем отфильтровать группы, которые не имеют текста, введенного в поле описания. После завершения выполнения скрипта вы увидите результат в файле C:TempGroupsWithoutDescription.CSV. Отчет включает количество групп безопасности и имя группы, для которой не задано описание, как показано на снимке экрана ниже:

Резюме

В этой части мы рассказали о двух сценариях PowerShell, которые можно использовать для составления сводных отчетов о группах Office 365, созданных в арендаторе Office 365, и отчетов о группах Office 365, для которых не задан текст описания. Как вы могли заметить, в обоих приведенных выше сценариях PowerShell сценарии используют командлет PowerShell Get-MsolGroup для сбора необходимой информации.
В следующей части этой серии статей мы приведем дополнительные примеры использования командлета PowerShell для групп Office 365. Мы также предоставим сценарий PowerShell, который можно использовать для создания отчетов о состоянии работоспособности групп Office 365, которые синхронизируются с локальной службой Active Directory.