Основи Get-MailboxStatistics
Самою основною командою Exchange Management Shell є команда Get-MailboxStatistics. На малюнку 1 показаний приклад даних, отриманих після використання цієї команди без будь-яких додаткових параметрів. Ця команда запущена на локальному поштовому сервері.

Малюнок 1: Результати запуску команди Get-MailboxStatistics за замовчуванням
Як ви бачите, за замовчуванням ми маємо чотири розділи інформації для кожної поштової скриньки на локальному поштовому сервері, коротке ім'я ящика, кількість об'єктів в ящику, статус обмеження обсягу зберігання ящика і останнім часом входу. Дійсний розмір ящика не відображається за замовчуванням, тому першим завданням буде визначення атрибута, що зберігає це значення. Одним із способів визначення доступних атрибутів, які можна отримати, є передача результатів команди в Format-List cmdlet, і fl, якщо говорити коротше. Наприклад, наша команда тепер буде виглядати так:
На малюнку 2 показані результати застосування цієї команди, де показані атрибути поштової скриньки користувача User2.

Малюнок 2: Результати команди Get-MailboxStatistics | fl
Результати використання цієї команди показані на малюнку 3.

Малюнок 3: Get-MailboxStatistics з розмірами поштових скриньок
Як просунутися далі, якщо це досить стислі результати, які говорять нам практично про все, що потрібно знати. Однак у цих даних є пара недоліків. По-перше, дані наведені у висхідній і не в низхідній послідовності, тому не відразу видно, який ящик має найбільший розмір. По-друге, стовпець TotalItemSize за замовчуванням показаний в байтах, що також не дуже зручно при читанні.
Додаткові формати Get-MailboxStatistics
Давайте спочатку звернемося до порядку даних результату. Сортування об'єктів за допомогою PowerShell насправді проста, якщо використовувати, як ви здогадалися, команду Sort-Object. Все, що вам для цього буде потрібно, це отримати статистику поштових скриньок і обробити результати за допомогою команди Sort-Object, перш ніж обробляти їх за допомогою Format-Table cmdlet. Для обробки інформації в команді Sort-Object нам потрібно визначити, який стовпець ми хочемо впорядкувати, і за яким критерієм ми будемо це робити. Перший параметр, який нам потрібно додати в Sort-Object, це назва стовпчика, яке в нашому випадку буде TotalItemSize. Потім ми додаємо або 'Descending (в порядку убування), або' Ascending (в порядку зростання) напрямок упорядкування. Давайте для початку відобразимо найбільші поштові скриньки, що в більшості випадків є саме тим, що потрібно знати адміністраторам. Команда тепер буде такий:
Результати використання цієї команди показані на малюнку 4.

Малюнок 4: Get-MailboxStatistics з розмірами ящиків в низхідній послідовності
Далі нам потрібно перетворити розміри ящиків з байт в щось більш зручне. Мегабайти будуть очевидною відповіддю, хоча з урахуванням стрімкого зростання розмірів поштових скриньок не виключено, що в найближчому майбутньому за замовчуванням будуть використовуватися гігабайти. Однак в моїй тестовій системі використовуються ящики відносно невеликих розмірів, я збираюся використовувати відображення розмірів в кілобайтах. Для цього нам буде потрібно замінити параметр TotalItemSize в нашій команді чимось більш складним:
Тепер наша команда виглядає наступним чином:
Результати використання цієї команди показані на малюнку 5. Якщо ви хочете відображати розміри ящиків в мегабайтах, використовуйте TotalItemSize.Value.ToMB в цій команді. Або ви можете використовувати TotalItemSize.Value.ToGB для відображення розмірів в гигабайтах.

Малюнок 5: Get-MailboxStatistics з розмірами ящиків в KB
Так набагато краще. Але зачекайте! Подивіться на назви стовпців тепер. Стовпець, який раніше називався TotalItemSize. тепер має вельми громіздке назву # 36; _. TotalItemSize.Value.ToKB (). Ми можемо виправити це досить легко шляхом додавання нового ярлика команді. Насправді для цього вам потрібно додати зміна в команду, щоб правильно позначити стовпець. Нова команда показана нижче:
Результати використання команди показані на малюнку 6:

Малюнок 6: Get-MailboxStatistics з позначеним стовпцем назв
Відправка результатів електронною поштою
На малюнку 7 показаний PowerShell сценарій під назвою sendstats.ps1, який можна використовувати спочатку для генерування статистки поштових скриньок за допомогою команди, створеної в цій статті, а потім для відправки результатів цієї команди по електронній пошті адміністратору. Перше, що потрібно враховувати в цьому сценарії, це те, що результати команди Get-MailboxStatistics були спрямовані в mailboxes.txt файл. Цей файл створюється в тій папці, з якої запущений сценарій. Інші рядки сценарію створюють і відправляють електронного листа, прикріплюючи файл mailboxes.txt як вкладиша. Важливо також враховувати, що рядок, що починається з # 36; SendingServer, посилається на FQDN поштовий сервер, який відповідає за відправку повідомлень. Тому необхідно переконатися, що даний сервер зможе насправді відправляти повідомлення.
Малюнок 7: Сценарій SendStats.PS1
Як тільки ці дії виконані, сценарій відправить повідомлення, як показано на малюнку 8. Відкриття вкладиша відобразить результати сценарію Get-MailboxStatistics, як показано на малюнку 9.

Малюнок 8: Звіт, надісланий поштою

Малюнок 9: Вміст вкладиша
Хоча ці дії дають нам поштове повідомлення з відповідними даними, що містяться в ньому, в самому сценарії нічого не міститься, якщо враховувати, що він запускається регулярно. Щоб цього домогтися, ми можемо скористатися службою планування Windows і виконувати сценарій на регулярній основі. Для цього нам потрібно запустити Exchange Management Shell і визначити сценарій, який необхідно виконати. Це можна зробити за допомогою наступної команди: