Скрипт для автоматичного очищення ящиків в exchange 2018

У нас в компанії є службові розсилки в які приходять службові повідомлення з різного роду інформацією: помилки, попередження і т.д. Часом звідти може прилетіти "хвиля" в сотні мегабайт або того більше, тому що і самих повідомлень може бути десятки тисяч, та й їх розмір в особливо неприємних випадках може досягати декількох десятків мегабайт.

Після деякої кількості проб було вирішено написати скрипт, який буде чистити папки користувачів від таких повідомлень, в разі якщо ці повідомлення старше одного дня. Термін вибраний з емпіричних міркувань, тому що практика показала, що повідомлення старше доби нікому не потрібні.

Отже, сам скрипт:

# Кількість днів, старше яких потрібно видаляти повідомлення
$ Dny = 1

# Хто застосовує
# Для поточного доменного користувача
$ Kto = [Environment] :: UserName + "@ domain.ua"

# В якій папці шукати
$ Ifold = '\ dbg-folder'
# Для якого одержувача шукати
$ Recpkey = $ rassylka
# Для якого відправника шукати
$ Sendkey = '[email protected]'

$ CurrDateTime = [datetime] :: Parse ((Get-Date -Format 'HH: mm'))
$ ShutdownDateTime = $ CurrDateTime.adddays (- $ dny)
$ Shutdowndatetime.tostring ()

# Скрипт виконується для всіх членів розсилки $ rassylka
Get-DistributionGroupMember $ rassylka | Export-Mailbox -Enddate $ shutdowndatetime -IncludeFolders $ ifold -RecipientKeywords $ recpkey -SenderKeywords $ sendkey -deletecontent -Confirm: $ False

# Зачистка логів операції export-mailbox.
Remove-Item "C: \ Program Files \ Microsoft \ Exchange Server \ Logging \ MigrationLogs \ *. *"

Тепер скрипт або cmd-шник, який його стартує потрібно поставити як завдання і все закрутиться.

Не забудьте, що потрібно один раз на машинці дати можливість запускати непідписані скрипти локально

Для запуску і використовую простенький .cmd файл:

@ECHO OFF
C: \ WINDOWS \ system32 \ WindowsPowerShell \ v1.0 \ PowerShell.exe -PSConsoleFile "C: \ Program Files \ Microsoft \ Exchange Server \ bin \ exshell.psc1" -command ". 'C: \ bats \ delete-messages- from-maillist.ps1 ' "-NonInteractive -nologo

Скрипт і cmd можна скачати у вигляді файлу content-delete.rar. підправити під себе і користуватися.

Copyright © 2024