У нас в компанії є службові розсилки в які приходять службові повідомлення з різного роду інформацією: помилки, попередження і т.д. Часом звідти може прилетіти "хвиля" в сотні мегабайт або того більше, тому що і самих повідомлень може бути десятки тисяч, та й їх розмір в особливо неприємних випадках може досягати декількох десятків мегабайт.
Після деякої кількості проб було вирішено написати скрипт, який буде чистити папки користувачів від таких повідомлень, в разі якщо ці повідомлення старше одного дня. Термін вибраний з емпіричних міркувань, тому що практика показала, що повідомлення старше доби нікому не потрібні.
Отже, сам скрипт:
# Кількість днів, старше яких потрібно видаляти повідомлення
$ 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. підправити під себе і користуватися.