Пару дней назад стало доступно обновление для Outlook 2007, которое позволяет из него работать со стандартным архивом почтового ящика Exchange 2010. Статью с описанием обновления можно посмотреть здесь. Там же можно сделать запрос на загрузку обновления. Пока руки не дошли поставить в виртуалку, поэтому картинки возьму из чужих блогов. Надеюсь, авторы не обидятся.

Вот как выглядит архив в Outlook 2007:

Теперь и из Outlook 2007 есть возможность открывать архив, помещать в него объекты из основного ящика и открывать другие архивы, к которым есть доступ.

Небольшая ложка дёгтя. Доступа к выбору политик пока нет. Так же отсутствует сквозной поиск (и по основному ящику и по архиву). Возможно позднее выйдет обновление, которое это исправит.

Задача – добавить в почтовый ящик, например, 100 алиасов формата mail(0-100)test@domain.com (на самом деле их 101, конечто же).

Ниже скрипт.

$mailbox = Get-Mailbox "user name"
foreach ($number in 0..100) {
$newalias = "mail" + $number.ToString() + "test@domain.com"
$mailbox.EmailAddresses += $newalias
Set-Mailbox -Identity $mailbox.Alias -EmailAddresses $mailbox.EmailAddresses
}

Поеду сегодня на клуб рассказывать про архивирование.

Проблема стандартная – с течением времени накапливается достаточно много записей компьютеров в AD, которым физически не сопоставлено ни одного компьютера. Самый простой вариант – найти компьютеры, которые в домен не заходили определённое количество времени (например последние 4 месяца), перенести их в отдельную организационную единицу и отключить. Если случайно туда попадут активные учётные записи компьютеров – то это станет достаточно быстро ясно. Можно сделать операцию переноса следующей командой:

for /F "delims=" %%a in ('dsquery computer "dc=domain,dc=com" -inactive 16 
-limit 0') do dsmove %%a -newparent "ou=disabled computers,dc=domain,dc=com"

Запускать её нужно с расширенными привилегиями, иначе будет ошибка о запрете доступа. Дальше можно эти компьютеры вручную отключить прямо в этой организационной единице.

Подсмотрено здесь.

Стал доступен для скачивания через портал fileconnect дистрибутив Enterprise Vault 9.0.1.

Из нового:

  • Аддон для Outlook 2010 (HTTP-Only)
  • Утилита EVSPShortcutManager (для управления ярлыками в Sharepoint)
  • 4 новых уведомления в административной консоли
  • Бинарный пакет для MS OpsMgr (раньше был только xml)

Плохо, что полный аддон для Outlook 2010 так и не вышел. И пока нет информации когда он будет выпущен.

Появилась статья о переносе EV 9.0 на другое железо. Похоже заказчики совсем достали техподдержку Symantec. Статью можно скачать отсюда. Ранее я описывал процесс переноса EV 8.0. В процессе переноса по большому счёту не поменялось ничего.

Кроме этого стала доступна статья о подробностях работы EV 9.0 c Exchange 2010 и DAG, в частности.

Забавно, но на текущий момент поддерживается только Exchange 2010 SP1 (RTM – не поддерживается).

По поводу High Availability и Site Resilence много и достаточно подробно написано здесь. Сценарий хороший, но есть одно но. Как известно, пользователи почтовых ящиков подключаются к Exchange 2010 используя CAS Array. Фактически он играет роль общей точки доступа. В сайте может быть только один такой массив. Прописывается он на уровне почтовой базы через параметр RPCClientAccessServer. При переезде базы в другой сайт, этот параметр автоматически не переписывается, следовательно полностью автоматизировать процесс не получится (по идее старый массив CAS будет играть роль прокси для клиентов и перекидывать на нужный сервер, но хорошим это решение назвать сложно). Необходимо будет или вручную или с помощью скрипта этот параметр на переехавших базах переписывать.

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

$CASArray = @{"--" = "---"}
$MBXArray = @{"--" = "---"}
Get-ClientAccessArray | Foreach{$s=$_.Site;$f=$_.fqdn;$CASArray += @{"$s" = "$f"} }
Get-ExchangeServer | Foreach{$s=$_.Site;$n=$_.Name;$MBXArray += @{"$n" = "$s"} }
$Databases = Get-MailboxDatabase
#Look each mailbox server and assign the appropriate CASArray
#based on AD site
ForEach($Database in $Databases){
$db = $Database.Name
$inServerName = $Database.ServerName
Write-Host "Mailbox Database: " $db
Write-Host $inServerName ":" $Database.RpcClientAccessServer -NoNewLine
$ADSite = $MBXArray[$inServerName]
$CA = $CASArray[$ADSite]
Write-Host " - " $ADSite ":" $CA -NoNewLine
If($Database.RpcClientAccessServer -eq $CA){Write-Host " OK`n" -Foregroundcolor GREEN}
else{
Write-Host " ERR`n" -Foregroundcolor RED
Set-MailboxDatabase $db -RpcClientAccessServer $CA}}

Не могу не перепостить из блога Майка Пфайфера.

1. Как узнать может ли пользователь изменять объект? Скрипт:

Get-ManagementRoleAssignment -WritableRecipient administrator -GetEffectiveUsers | 
?{$_.EffectiveUserName -eq "Stas Buldakov"}

2. Какие роли могут запускать определённый командлет? Скрипт:

Get-ManagementRoleEntry '*New-MailboxImportRequest'

3. Какие командлеты может запускать определённая роль? Скрипт:

Get-ManagementRoleEntry 'Mailbox Import Export*'

4. Какие роли включены в группу ролей? Скрипт:

Get-ManagementRoleAssignment -RoleAssignee "Mailbox Import Export Admins" | 
select Role,AssignmentMethod,EffectiveUserName

5. Какие пользователи включены в группу ролей? Скрипт:

Get-RoleGroup 'Mailbox Import Export Admins' | Get-RoleGroupMember

6. Кому назначена была роль? Скрипт:

Get-ManagementRoleAssignment -Role 'Legal Hold' -GetEffectiveUsers | 
select EffectiveUserName -Unique

7. Какие роли назначены пользователю? Скрипт:

Get-ManagementRoleAssignment -GetEffectiveUsers | 
?{$_.EffectiveUserName -eq "Stas Buldakov"} | select Role

Мася изучает инфорпак!