З часом, в організації Exchange або Exchange Online (Microsoft 365) накопичуються сотні розсилки (список розповсюдження, DL). Деякі з них можуть не використовуватися, і їх потрібно періодично видаляти. У цій статті ми покажемо, як знайти невикористані та порожні групи розсилки в обмін.
Зміст:
- Шукайте порожні групи розсилки в обмін
- Ми шукаємо невикористані групи розсилки на сервері Exchange
- Знайдіть невикористану групу розповсюдження в Exchange Online (Microsoft 365)
Пошук невикористаних розсилкових груп відрізняється від пошуку неактивних комп'ютерів/користувачів у AD. DL не має типу атрибутів Lastlogondate
/ Lastlogontimestamp
, Дозволяє визначити час останнього використання об'єкта. За допомогою журналів Exchange Tracking ви можете визначити, чи надійшли листи до вказаної групи розсилки чи ні.
Шукайте порожні групи розсилки в обмін
Якщо група розсилки не містить користувачів, вона, ймовірно, більше не потрібна. Підключіться до вашого сервера Exchange за допомогою PowerShell.
Щоб знайти порожні групи розсилки в обмінній організації, використовуйте такий сценарій PowerShell:
Get -DistributionGroup -ResultSize Unlimited | Де -Object (Get -DistributingRoupMeber -Identity $ _.Назва -SultSize Unlimited).Count -eq 0 | Виберіть Ім'я, PriverSmtPaddres
Проаналізуйте отриманий список груп розсилки та видаліть/приховуйте DL непотрібним для вас за допомогою команди remegribitributionGroup.
Аналогічно, за допомогою Get-DynamicDistributionGroup, ви можете знайти порожні групи динамічних розподілів: Get -DynamicDistrutionGroup -ResultSize Unlimited | Де -Object (Get -repipientPreviewFilter (Get -DynamicDiributationGroup -Identity $ _.Ідентичність).Одержувач).Count -eq 0 | Виберіть Ім'я, PriverSmtPaddres
Ми шукаємо невикористані групи розсилки на сервері Exchange
Для аналізу журналів транспорту на сервері Exchange використовується команда get-messagetrackinglog. Наприклад, ви можете обчислити кількість листів, надісланих певній групі розсилки за останні 90 днів, використовуючи команду:
Get-messagetrackinglog -start (Get Date).Adddays (-90) -ResultSize Unlimited -Rucipents "dl [email protected] "| Вимірювання -Object
Set -transportservice hqexch1 -messagetrackinglogmaxage 180.00:00:00
Щоб знайти невикористані групи розсилки, ви можете використовувати такий сценарій PowerShell:
- Отримайте список усіх груп групування в домені та експортуйте його до CSV:
Get-DistributionGroup | Виберіть -Object PriverSmtPaddress | Сортування -Object PriverSmtPaddress | Експорт-CSV All-Exchange-DLS.CSV -notype
- Знайдіть список DLS, для яких листи були надіслані за останні 30 днів:
Get-messagetrackinglog -start (Get Date).Adddays (-30) -EventId Expand -ResultSize Unlimited | Сортування -Object Пов'язанийдидадрест | Група -Object Пов'язанийedRedDress | Сортування -Object Name | Select -Object @label = "priversmtpaddress"; exmanse = $ _.Ім'я, рахувати | Export-CSV Exchange-active-DL.CSV -notype
Якщо в організації Exchnaage є кілька серверів з транспортною роллю (список можна отримати за допомогоюGet-TransportService
), вам потрібно шукати кожного з них:Get -messagetrackinglog -server exh1 .. .
- Залишається порівняти два списки та знайти неактивні групи:
$ alldl = import-csv -path all-exchange-dls.CSV
$ Activedl = import-csv -path Exchange-active-dls.CSV
Порівняйте -Object $ alldl $ activedl -property periversmtpaddress -syncwindow 500 | сортувати -Object primarymtpaddress | Виберіть -Object -Property PriverSmtPaddress | Export -CSV Inactive -DLS.CSV -notype - Невикористані розсилки можуть бути приховані з адресної книги (Глобальний список адрес):
$ CurrentDate = get-date
$ notes = "неактивна, прихована від адресної книги $ currentdate"
$ Inactivedl = import-csv -path inactive-dls.| Foreach -Object
Set -group -iidentity $ _.Priversmtpaddress -notes $ примітки
Встановити -distributionGroup $ _.Periversmtpaddress -hiddenfromaddresslistsenabled $ true
Знайдіть невикористану групу розповсюдження в Exchange Online (Microsoft 365)
У Microsoft 365 ви можете шукати журнали пошти за допомогою адміністратора Exchange (Потік пошти -> Слід повідомлення) або використання команд PowerShell Стартовий-історичний пошук
і Get-messagetrace
. Останнє командування має значне обмеження - воно дозволяє шукати літери лише за останні 10 днів і не підходить для нашого завдання.
Встановіть на комп’ютер Exchange Online PowerShell (EXOV2) та підключіться до свого орендаря:
Connect-ExchangeOnline
Наступна команда дозволить вам відобразити кількість листів, надісланих на адресу SMTP певної розсилки:
Start -HistoricalSearch -reportTitle "Dl Name" -startdate 19.03.2022 -ENDDATE 18.05.2022 -reportType Messagetrace -urecipientass global_server_admins@ winitprotpro.ru -notifyAddress [email protected]
Щоб почати шукати неактивний DL серед груп розсилки, ви можете використовувати цей сценарій:
Foreach ($ Group у Get-DistributionGroup)
Start -historicalsearch -reporttitle $ group.Ginersmtpaddress -startdate 19.03.2022 -Enddate 18.05.2022 -reportType messagetrace -rucipientAddress $ Group.Ginersmtpaddress -notindaddress [email protected]
Після завершення пошуку ви можете перевірити, скільки листів було надіслано на електронну пошту DL:
Get-HistoricalSearch "DL ім'я"
Якщо список листів порожній (в Рядки = 0
), тоді ця поштова група не використовувалася в обмін в Інтернеті протягом останніх 90 днів. Така група розсилки може вважатися неактивною.