Архив метки: Exchange

Exchange восстановление удаленного письма

Для того чтобы востановить письма, нужно находиться в Группе управлением обнаружением (Discovery Management). Введем команду

Add-RoleGroupMember -Identity "Discovery Management" -Member User1

Перезапускам EMS
Восстанавливаем удаленные письма, в том числе и удаленные из папки «удаленные»

Search-Mailbox "исходный ящик" -TargetMailbox целевой ящик -TargetFolder RECOVER

Исходный ящик» это тот, из которого письма удалили, целевой — тот, в который они будут восстановлены. Соответственно, всё что будет восстановлено, появится в целевом ящике в папке RECOVER. Указывать один и тот же ящик в роли исходного и целевого нельзя.
Если надо восстанавливать на все письма, а письма только с определённой темой, то синтаксис может быть таким:

Search-Mailbox "Исходный ящик" -SearchQuery subject:"Тема письма" -TargetMailbox Целевой ящик -TargetFolder Соответствующая папка

Есть один момент, когда у вас Русский Exchange то при указании параметров на английском, выходит ошибка. Покажу на примере

[PS] C:\Windows\system32>Search-Mailbox ivanov -SearchQuery "from:sidorov@gmail.com" -TargetMailbox petrov -TargetFolder RECOVER
Ключевое слово property не поддерживается.
    + CategoryInfo          : InvalidArgument: (:) [], ParserException
    + FullyQualifiedErrorId : 73EC546F

Данную ошибку можно устранить заменить параметр на Русский перевод:

[PS] C:\Windows\system32>Search-Mailbox ivanov -SearchQuery "Откого:sidorov@gmail.com" -TargetMailbox petrov -TargetFolder RECOVER

Ссылка 1

Exchange, каждому своя адресная книга.

Бывает что в одном домене несколько организаций. И все пользуются едиными сервером Exchange, но с разными доменами получателей. И как сделать так, чтобы одина организация не видела почтовые адреса другой организации в своей адресной книге?.

Не буду вдаваться в подробности что есть что, можете прочесть об этом тут. Я лишь выложу свое решение.

И так есть сервер. На котором много доменов. И из адресной книги одной организации нам нужно исключить несколько доменов. Запускаем EMS и вводим такую простую команду:

Get-AddressList  -Identity BookOrg1 | Set-AddressList -RecipientFilter {((((-not(EmailAddresses -like '*excample1.com')) -and (-not(EmailAddresses -like '*excample2.com')) -and (-not(EmailAddresses -like '*excample3.com')))) -and (Alias -ne$null))}

В данном примере мы взяли существующую книгу адресов и добавили в нее правило, которое исключает из данной книги все адреса в которых присутствуют указанные три домена.
Еще пример. Предположим мы завели контакты (contact) в AD (не через Exchange). И теперь хотим их отобразить в отдельной адресной книге (группе). Для понимания предстоящего решения прочтем
https://technet.microsoft.com/ru-ru/library/cc164375(v=exchg.141).aspx,тут и тут.
Т.к. контакты «не родные» для Exchange они их отображать не будет. Потребуется написать фильтр отбора данных. Для этого определимся по какому критерию мы будем делать выборку данных. В своем случае я взял имя компании. В каждом контакте в разделе Company я заполнил одну и туже информацию «Называние компании». И попытался по этому атрибуту получить список.

New-AddressList -Name BookOrg2 -RecipientFilter {(Company -like 'Называние компании')}

Не забываем обновить данные в Exchange

Update-AddressList BookOrg2

Outlook добавляет письма в нежелательную.

Бывают ситуации что желательная почта по желанию outlook попадает в нежелательную. Данное решение предлагается для обладателям Exchange.

Предположим ситуацию что письмо от адресата petrov@example.com попадает в папку «нежелательная почта» пользователя sidorov, исправляем:

Get-mailbox -Identity "sidorov" | Set-MailboxJunkEmailConfiguration -TrustedSendersAndDomains @{Add="petrov@example.com"}

А если нам надо разрешить прохождения писем от целого домена example.com

Get-mailbox -Identity "sidorov" | Set-MailboxJunkEmailConfiguration -TrustedSendersAndDomains @{Add="example.com"}

Так же есть и внутренний доменные адреса которые к верхними правилам не могут применяться, по этому тут нужно идти по другому пути:

Set-ContentFilterConfig  -BypassedSenderDomains @{Add="blueyonderairlines.com"}

Проверка

Get-ContentFilterConfig | Format-List Bypassed*

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

https://technet.microsoft.com/ru-ru/library/aa995953(v=exchg.150).aspx

https://technet.microsoft.com/ru-RU/library/dd979780(v=exchg.150).aspx

Exchange 2010 обновление адресной книги в Outlook или куда подевался сотрудник?

Доброго дня.
Бывает такая ситуация, когда пропадает запись о сотруднике (у меня пропала группа, но это не важно) из адресной книги. И вот как решить такую задачу, опишем в этом посте.
Для начала посмотрим аттрибуты объекта в AD. Аттрибут в AD должен называться showInAddressBook. Кто невкурсе — в mmc -> View -> Detail ADattr
Этот аттрибут говорит нам в какой адресной кнге должен присудствовать этот пользователь/группа. Последнего параметра у меня небыло, я его скопировал из другой группы, которая нормально отображатеся в адресной книге.
На этом проверка в AD Заканчивается. Приступаем к работе с Exchange.
В Exchange будем пользоваться EMS. И первая команда — это обновление глобального списка адресов (GAL). Все (ну почти все) что относится к почте в AD сначало попадает в GAL.

Get-GlobalAddressList | Update-GlobalAddressList

Далее вторым по списку идет обновление offline Adrress Book (OAB) — сюда данные попадают из GAL

Get-OfflineAddressbook | Update-OfflineAddressbook

Заключительный шаг — получение всех клиентов и рассылка им обновленной OAB, тип кстати можно не указывать

Get-ClientAccessServer | Update-FileDistributionService -Type "OAB"

Теперь на клиенте, следует обновить адресную книгу или загрузить ее по новой.

Как выставить в календарях у всех пользоватлей Exchange 2010 одинаковый шаблон?

Есть задача, выставить у всех пользователей Exchange 2010 в календарях одинаковые праздничные дни и может быть какие то заметки.
Сначала открываем EMC. И через нее даем права на импорт и экспорт *.pst файлов пользователю

ManagementRoleAssignment -Role "Mailbox Import Export" - User user@domen

Нужно создать нового тестового пользователя (test1) на почтовом сервере. Он нам нужен для того чтобы в его чистом календаре выставить нужные нам отметки и даты. Когда мы это сделали, то следует приступить к выгрузки календаря пользователя test1:

New-MailboxExportRequest -Mailbox test1 -FilePath C:\filename.pst -IncludeFolders "#Calendar#"

И так, шаблон календаря у нас есть, а вот списка пользователей которым нужен этот шаблон, у нас нету. Для этого выгрузим все Алиасы почтовых ящиков в CSV файл.

Get-Mailbox | select alias, whencreated | Export-CSV -Path "C:\AliasFile.csv" -NoTypeInformation -Delimiter ";"

В полученном списке алиасов, нужно удалить те почтовые ящики (пользователей) которым данное обновление календаря ни к чему.

Теперь завязка. Нужно объединить список почтовых ящиков и шаблон клаендаря пользователя test1. В этом скрипте цикл пробегается по всем строчкам файла с алиасами, и к каждому из них применяет новый шаблон календаря.

Import-CSV -Path "C:\AliasFile.csv" -Delimiter ";" | foreach-object {New_MailboxImportRequest -Mailbox $_.Alias -FilePath C:\filename.pst -IncludeFolders "#Calendar#"}