Проверка состояния аудита почтовых ящиков в Exchange Online с помощью PowerShell

Опубликовано: 2 Марта, 2023
Проверка состояния аудита почтовых ящиков в Exchange Online с помощью PowerShell

Существует несколько элементов проверки работоспособности и соответствия, которые можно использовать в Office 365, чтобы убедиться, что ваша организация соответствует элементам управления и стандартам соответствия. Microsoft предоставляет модули PowerShell для подключения и взаимодействия со службами Office 365, такими как Exchange Online, Office 365, SharePoint Online и т. д. Одна из задач, которую необходимо выполнить администраторам Office 365 Exchange Online, — убедиться, что для всех почтовых ящиков, созданных в Office 365, включен аудит. Если аудит почтового ящика отключен для почтового ящика, данные аудита будут недоступны. В этой статье мы предоставим сценарий PowerShell, который можно использовать для проверки того, для скольких почтовых ящиков не включен аудит в Office 365 Exchange Online.

Требования к скрипту PowerShell

Перед выполнением сценария PowerShell, описанного в следующем разделе этой статьи, установите модули Exchange Online с помощью «Install-Module ExchangeOnline» и убедитесь, что у вас есть доступ глобального администратора, прежде чем сценарий сможет подключиться и получить необходимые данные. Также создайте папку C:TempData на компьютере, где вы запускаете скрипт. Папка данных будет содержать CSV-файл, содержащий данные почтового ящика.

Что делает этот скрипт PowerShell?

Сценарий PowerShell, представленный в этой статье, выполняет следующие операции:

  • Импортирует модули PowerShell, необходимые для подключения к Office 365 Exchange Online.
  • Предоставляет запрос на вход для подключения к Exchange Online.
  • Собирает элементы почтового ящика из Office 365.
  • Проверяет общее количество почтовых ящиков и количество почтовых ящиков, для которых не включен аудит.
  • Предоставляет файл данных, содержащий список почтовых ящиков, для которых не включен аудит.
  • Предоставляет процент почтовых ящиков, для которых не включен аудит.
  • Обеспечивает серьезность на основе процентного балла.

Сценарий PowerShell для проверки состояния аудита почтовых ящиков

Выполнение скрипта PowerShell создаст отчет в формате CSV. Файл отчета можно найти в папке C:TempTestResult.CSV, а файл данных — в папке C:TempData. Вам необходимо предоставить учетные данные для подключения к Office 365.

$CurrentLoc="C:Temp" $UniqueTest="EXCH" $TestCSVFile="C:TempTestResult.CSV" Remove-Item $TestCSVFile -ErrorAction SilentlyContinue $ThisString="Всего почтовых ящиков, Всего включен аудит почтовых ящиков, Всего Почтовый ящик без аудита почтового ящика, Процент, Файл данных" Добавить содержимое "$TestCSVFile" $ThisString $DataFileLocation=$CurrentLoc+"Data"+$UniqueTest+"_DATA.CSV" Remove-Item $DataFileLocation -ErrorAction SilentlyContinue $AllItems = Get- Почтовый ящик $AllItemsCount = $AllItems.Count $TotNot = 0 $TotYes = 0 $TotPercentage = 0 $TotNotItems = Get-Mailbox | Select-Object Name, Database, AuditEnabled, RecipientTypeDetails | Where-Object {$_.AuditEnabled -eq $false} $TotNotCount = $TotNotItems.Name.Count $TotYesItems = Get-Mailbox | Select-Object Name, Database, AuditEnabled, RecipientTypeDetails | Where-Object {$_.AuditEnabled -eq $true} $TotYesCount = $TotYesItems.Name.Count $TotNotCount $TotYesCount $TotPercentage=($TotNotCount/$AllItemsCount)*100 $ValSTR = $AllItemsCount.ToString()+", "+$TotYesCount.ToString()+","+$TotNotCount.ToString()+","+$TotPercentage.ToString()+","+$DataFileLocation Добавить содержимое "$TestCSVFile" $ValSTR $TotNotItems | Export-CSV $DataFileLocation -NoTypeInformation IF ($TotNotCount -ne 0) { IF ($TotPercentage -gt 15) { $SumVal = "" $TestStatus="High" $TestText="HIGH ISSUE" } else { $SumVal = " " $TestStatus="Medium" $TestText="СРЕДНЯЯ ПРОБЛЕМА" } } else { $SumVal = "" $TestStatus="Passed" $TestText = "ПРОШЕЛО" } $AllItemsCount $TotYesCount $TotNotCount $TotPercentage $TestStatus

После завершения выполнения этого сценария PowerShell вы увидите два файла CSV; C:TempTestResult.CSV и C:TempDataEXCH_Data.CSV. Файл C:TempTestResult.CSV содержит общее состояние полученных элементов почтового ящика, а файл C:TempDataEXCH_Data.CSV содержит фактические сведения о почтовом ящике, для которых не включен аудит почтовых ящиков. Как вы можете видеть на снимке экрана ниже, взятом из O365 IT Health & Risk Scanner, после выполнения сценария PowerShell отображается общее количество почтовых ящиков в Office 365 Exchange Online, общее количество почтовых ящиков с включенным аудитом и общее количество почтовых ящиков без включен аудит.

Если вы откроете файл C:TempDataEXCH_Data.CSV, вы увидите почтовые ящики, для которых не включен аудит, как показано на снимке экрана ниже:

Как вы можете видеть на снимке экрана выше, у User1, User2 и User3 не включен аудит почтовых ящиков, и это необходимо решить как можно скорее. Вы, должно быть, заметили, что, поскольку аудит неприменим для почтовых ящиков, отличных от почтового ящика пользователя, он не учитывал эти почтовые ящики в файле C:TempTestResult.CSV.

Вышеупомянутый сценарий был получен из O365 IT Health & Risk Scanner, который может выполнять около 97 проверок в Office 365, чтобы убедиться, что ваши службы Office 365 работоспособны и ваша организация соответствует стандартам соответствия.