Приветствую Вас, Гость
Главная » Статьи » Mail » Exchange. Powershell

Windows / Powershell.MAIL

Поиск в ящике писем принятых в период между 22 и 24 июля с помещением отчёта в папку "Recovery" администратора:

Search-Mailbox -Identity user -SearchQuery 'Received:"22/07/2019..24/07/2019"' -TargetMailbox admin@foo.net -TargetFolder "Recovery" -LogOnly -LogLevel Full

https://blog.volobuev.su/detektiv-ili-poisk-poteryannogo-pisma/

 

Отправка почты от имени группы рассылки

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

Get-DistributionGroup -Identity <YourGroup> | Add-ADPermission -User <User> -ExtendedRights «Send As»

Размер баз

Get-MailboxDatabase -Server <Имя сервера> -Status | select Name, DatabaseSize, AvailableNewMailboxSpace

Количество ящиков в базе

(Get-Mailbox -Database <Имя базы данных> -ResultSize:Unlimited).count

Количество ящиков в базе по возрастанию

Get-MailboxDatabase -Server <Имя сервера> | Get-Mailbox -ResultSize:Unlimited | group -Property Database | select Name, Count | sort Count -desc | ft -auto

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

Get-Mailbox -Database <Имя базы данных>| Get-MailboxStatistics | ft displayname,totaldeleteditemsize,totalitemsize

Эту таблицу можно отсортировать по полю с размером ящика пользователя и вывести к примеру топ 10 больших ящиков.

Get-Mailbox -Database <Имя базы данных>| Get-MailboxStatistics | sort-object totalitemsize –descending | Select-Object displayname, totalitemsize -First 10

Если результат выполнения команды нужно выгрузить в CSV, нужно добавить “| Export-CSV top10mailbox.csv”

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

Get-MailboxStatistics -Server <Имя базы данных>| where{($_.StorageLimitStatus -contains“IssueWarning”) -or ($_.StorageLimitStatus -contains “ProhibitSend”)}

Текущие квоты почтового ящика пользователя:

Get-Mailbox user | Format-List *Quota

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

Get-MailboxStatistics -server <Имя базы данных>| where {$_.Lastlogontime -lt (get-date).AddDays(-365)}

http://mentoyan.ru/poleznye-komandy-powershell-dlya-obsluzhivaniya-exchange/

---

Полная статистика почтового ящика пользователя

[PS] > Get-Mailbox user | select *

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

    [PS] > Get-MailboxPermission | where {$_.AccessRights -eq «FullAccess» -and $_.IsInherited -eq $false}

Добавляем права доступа FullAccess к почтовому ящику пользователя:

    [PS] > Add-MailboxPermission -Identity -User -AccessRights FullAccess -InheritanceType All -Automapping $false

Обращаем внимание на параметр: -Automapping $false — он говорит чтобы пользователю автоматически не подключался почтовый ящик пользователя .

Добавляем разрешения FullAccess ко всем почтовым ящикам в организации. Для начала соберем массив почтовых ящиков с уникальными параметрами, которых будет достаточно для наших задач Name, Alias, ServerName, ProhibitSendQuota:

    [PS] > $MailboxList = Get-Mailbox $Identity

Затем выполняем команду:

    [PS] > $MailboxList | ForEach {Add-MailboxPermission -Identity $_.Alias -User -AccessRights FullAccess -InheritanceType All -Automapping $false}

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

Удаляем разрешения FullAccess ко всем почтовым ящикам в организации. Опять создаем массив из примера 4 и выполняем команду:

    [PS] > $MailboxList | ForEach {Remove-MailboxPermission -Identity $_.Identity -User -AccessRights FullAccess -InheritanceType All -confirm:$False}

Пользователь больше не имеет прав доступа к почтовым ящикам кроме своего (SELF). Здесь еще хочу обратить внимание на параметр: -confirm:$False Он освобождает нас от подтверждения удаления прав доступа к каждому почтовому ящику.

P.S. Ахтунг: не забываем про кавычки

https://almightydrews.wordpress.com/2015/07/17/exchange-powershell-notes/

---

Получить список почтовых ящиков  с ФИО пользователей

Get-Mailbox | ft displayname,userPrincipalName > C:\Users\User\Documents\Contacts.csv

Экспорт почтового ящика в файл PST

New-MailboxExportRequest -Mailbox username@mailbox.com -FilePath "\\suse\mailarchive\user.pst"

Получить ограничения на размер сообщений всех ящиков

Get-MailBox | ft Name, Maxsendsize, maxreceivesize

Установить ограничения на размер сообщений всех ящиков

Get-MailBox | Set-Mailbox -MaxSendSize 36MB -MaxReceiveSize 35MB

Категория: Exchange. Powershell | Добавил: ab0k (22.07.2019)
Просмотров: 378 | Рейтинг: 0.0/0
Всего комментариев: 0
avatar