Windows Server 2008 r2 standart
Exchange 2010 standart обновленный до SP1 (обновление проблем не вызвало поэтому рекомендую)
Поскольку ОС стандарт реализовать DAG не получилось, а локальной репликация баз осталась далеко в прошлом (Exchange 2007)
Встала задача хоть как то обезопасить почту пользователей, было принято решение сливать всю почту в pst файлы
командлет Export-Mailbox работать отказался наглухо
После обновления появилось несколько новых командлетов
Но давайте по порядку
для того чтобы иметь право сливать почту в pst мы должны дать себе привилегии "Mailbox Import Export", это встроеные привелегии но по умолчанию они ни кому не назначены
открываем EMS
назначаем права экспота импорта
Код: Выделить всё
New-ManagementRoleAssignment -Name "Exchange-Import-Export-Management" -Role "Mailbox Import Export" -SecurityGroup "Exchange-Import-Export-Group"Код: Выделить всё
Add-RoleGroupMember "Exchange-Import-Export-Group" -Member "AdminExchangeUsername"Код: Выделить всё
New-ManagementRoleAssignment -Name "Exchange-Audit-Management" -Role "Support Diagnostics" -SecurityGroup "Exchange-Audit-Group"Код: Выделить всё
Add-RoleGroupMember "Exchange-Audit-Management" -Member "AdminExchangeUsername"Exchange Servers, Exchange Trusted Subsystem ну и конечно Domain Admin и Exchange Admin
Теперь проверяем работоспособность
Код: Выделить всё
New-MailboxExportRequest -Mailbox useralias -FilePath \\fileserver\PST$\useralias.pstКод: Выделить всё
Name Mailbox Status
---- ------- ------
MailboxExport domain.tdl/Users/givenname Queued
Код: Выделить всё
Get-MailboxExportRequest -Status Completed | remove-mailboxexportrequest -Confirm:$false
#после исполнения регвесты сами не удаляются поэтому грохаем все выполненые регвесты
$filepath="\\fileserver\pst$\"
#Прописываем путь к шаре
$pst=".pst"
#Расширение файла
$date=Get-Date -UFormat %d-%m-%Y
#Берем Сегодняшнюю дату в формате дд-мм-гггг
Get-Mailbox | where { $_.ServerName -eq "MailboxServer"} | foreach{
#Получаем список майлбоксов
start-sleep 10
#Ждем 10 секунд
$alias=$_.Alias
#Бререм алиас мэйлбокса
$name = $_.SamAccountName
#берем логин пользователя
$path_fol="$filepath$name\"
#Задаем путь куда класть .pst чтобы все лежало по своим папкам
if (!(test-path $path_fol)){mkdir $path_fol}
#Проверям есть ли такая папка на сервере если нет то создаем
dir $path_fol | where {$_.lastwritetime -le (get-date).adddays(-7)} | del -force
#Удаляем все файлы старше 7 дней
New-MailboxExportRequest -Mailbox $name -FilePath $path_fol$name-$date$pst
#Экспортируем майлбокс пользователя
}
Могу сказать что у меня все работает
