вторник, 27 декабря 2016 г.

Еще немного команд PowerShell для Exchange OnLine

На всякий случай напомню, что если вы осуществляете поиск в организации, где присутствуют несколько доменов, то сначала необходимо выполнить команду:

Set-ADServerSettings -ViewEntireForest $true

Параметр -ResultSize:Unlimited   нужен если у вас более 1000 ящиков

Получить список всех пользователей по DisplayName

Get-Mailbox -ResultSize:Unlimited | Select DisplayName

Получить список всех пользователей по DisplayName с сортировкой по имени

Get-Mailbox -ResultSize:Unlimited | sort DisplayName | Select DisplayName

Статистика по количеству писем в ящиках, отсортировано по DisplayName

Get-Mailbox -ResultSize:Unlimited | Get-MailboxStatistics | sort DisplayName

Статистика по каждому ящику по параметрам количества писем и размеру ящика, сортируем по DisplayName и показываем данные списком по каждому пльзователю

Get-Mailbox | Get-MailboxStatistics | sort DisplayName | fl DisplayName,ItemCount,TotalItemSize

То же самое, но только в табличном виде

Get-Mailbox | Get-MailboxStatistics | sort DisplayName | ft DisplayName,ItemCount,TotalItemSize

Но больше всего меня радует вот такой синтаксис того как вывести данные о размере ящиков в Exchange OnLine с сортировкой по размеру ящиков

Get-Mailbox -ResultSize Unlimited | Get-MailboxStatistics | Select DisplayName, '@{name=”TotalItemSize (MB)”; expression={[math]::Round('($_.TotalItemSize.ToString().Split(“(“)[1].Split(” “)[0].Replace(“,”,””)/1MB),2)}}, ' ItemCount | Sort “TotalItemSize (MB)” -Descending

Всего-то и надо набрать строчку в полкилометра :) Проще простого!

Выводим общее количество почтовых ящиков

(Get-Mailbox -ResultSize Unlimited).Count 

Ссылки по теме:

https://msdn.microsoft.com/en-us/powershell/scripting/getting-started/cookbooks/using-format-commands-to-change-output-view

https://msdn.microsoft.com/en-us/powershell/scripting/powershell-scripting

https://blogs.technet.microsoft.com/heyscriptingguy/2013/02/27/get-exchange-online-mailbox-size-in-gb/