RexxeЯ
Заметки для себя

Exchange 2010 - исправление БД и отдельных ящиков

14.05.2012 . Автор: rexxer

Тупо содрано отсюда http://www.alexxhost.ru/2010/10/exchange.html (пригодится) :).

Исправление

Для исправления базы данных придется использовать команду ESEUTIL /P. Стоит несколько раз подумать, прежде чем пользоваться функцией Repair, т.к. данная операция в ЛЮБОМ случае приведет к потере данных, и сколько именно данных будет потеряно спрогнозировать не реально, можно только с уверенностью сказать, что информация, находящаяся в лог-файлах будет на 100% потеряна.

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

Процесс исправления запускается не по отношению к лог-файлам, как было с восстановлением, а по отношению к файлу самой базы данных.

eseutil /P MDB2.edb

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

clip_image003

Рис.1: Предупреждение перед операцией Repair.

Если все же вы твердо решили продолжать, то нужно нажать ОК и утилита ESEUTIL сделает все сама.

clip_image005

Рис.2: Исправление базы при помощи команды ESEUTIL /P.

После операции Repair может быть заметно снижена производительность базы данных, в связи с этим рекомендуется делать автономную дефрагментацию базы при помощи команды ESEUTIL /D, в результате выполнения команды будет создана абсолютно новая база данных, но тут нужно помнить, что для дефрагментации базы у вас должно быть свободного места больше на 110%, чем занимает исходная база.

Проверка логической целостности

После дефрагментации нужно будет проверить логическую целостность базы данных. Ранее, для этого используется утилита ISINTEG. На серверах Exchange 2007 и старше можно было выполнить команду:

isinteg -s имя_сервера -fix -test alltests

тем самым инициировав процесс проверки базы данных.

clip_image006

Рис.3: Проверка логической целостности базы при помощи ISINTEG.

Описание программы ISINTEG.

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

Exchange 2010

Плюсом к этому, с приходом Exchange 2010 ISINTEG перестала понимать все функции новой базы данных. Но это и нормально, ведь данное средство не изменялось с 2000-го года!

К счастью, сервер Exchange 2010 и не нуждается в отдельном средстве проверки базы, т.к. по умолчанию, для каждой базы на сервере ежедневно по расписанию производится фоновое обслуживание, которое автоматически находит ошибки и при этом не требует отключения базы.

clip_image007

Рис.4: Фоновое обслуживание базы данных.

Exchange 2010 SP1

С входом Exchange 2010 SP1, появилась замена средства ISINTEG в виде новых командлетов:

· New-MailboxRepairRequest – тестирование и исправление почтовых ящиков;

· New-PublicFolderDatabaseRepairRequest – тестирование и исправление общих папок.

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

Синтаксис использования командлетов следующий:

new-MailboxRepairRequest [-Mailbox <MailboxID> | -Database <DatabaseID>] -CorruptionType <CorruptionType> [-DetectOnly] [-DomainController <FQDN>]

Здесь

· Mailbox или Database – это соответственно почтовый ящик или база данных;

· CorruptionType – вид проверки, которую вы желаете запустить:

o SearchFolder;

o AggregateCounts;

o ProvisionedFolder;

o FolderView.

· DetectOnly – используется, если вы хотите лишь обнаружить ошибки, но не исправлять их;

· DomainController – определяет контроллер домена для обновления данных.

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

New-MailboxRepairRequest -Mailbox <MailboxID> -CorruptionType SearchFolder,AggregateCounts,ProvisionedFolder,FolderView

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

New-MailboxRepairRequest –Database MDB2 –CorruptionType AggregateCounts

clip_image009

Рис.5: Проверка всей базы.

В результате команда будет выполняться в фоновом режиме, а вам будет доступен её RequestID. Также в журнале событий Windows вы найдете событие под номером EventID = 10059, которое будет означать запуск сканирования

clip_image011

Рис.6: Запуск сканирования базы данных в журнале событий Windows.

И событие с EventID = 10048, которое будет означать успешное завершение операции.

clip_image013

Рис.7: Завершение операции сканирования базы данных в журнале событий Windows.


Exchange 2010 + mobile devices limits

06.03.2012 . Автор: rexxer

Не думал, что в моей небольшой организации возникнут проблемы с кол-вом разрешенных мобильных устройств.

Но этот момент настал. Один из пользователей не смог подключиться к почте со своего нового Айпада.

Понять что происходит помогло сообщение в его почте о превышении им лимита.

Что в этом случае можно сделать:

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

Set-ThrottlingPolicy –EASMaxDevices 50 –Identity DefaultThrottlingPolicy_hex_string

где DefaultThrottlingPolicy_hex_string можно найти командой: Get-ThrottlingPolicу

2.Пользователь может зайти на веб-аксесс:

Sign in to Outlook Web App, go to Options > Phone > Mobile Phones, and delete any unused partnerships to reduce the number of devices associated with this account to ten or fewer.

(See http://technet.microsoft.com/en-us/library/dd298094.aspx)



Exchange 2010 + export single mailbox

20.02.2012 . Автор: rexxer

1. Run Exchange powershell console and type (e.g.):

New-ManagementRoleAssignment –Role “Mailbox Import Export” –User domain\admin

So, You got rights import-export for user admin.

2. Restart Exchange powershell console.

3. Create a share on a server or use existed one, and grant Exchange Trusted Subsystem read/write permission. You can’t export on the local disks (but why not - I can’t understand).

4. Type the command:

New-MailboxExportRequest -Mailbox ivan.ivanov -FilePath “\\Server\Share\ivan_ivanov.pst”

5. You can review the backup state and progress:

Get-MailboxExportRequest | Get-MailboxExportRequestStatistics

Links: http://www.stevieg.org/2010/07/using-the-exchange-2010-sp1-mailbox-export-features-for-mass-exports-to-pst/

http://technet.microsoft.com/en-us/library/ff607299.aspx


Lync 2010 + Exchange 2010 + удаленная загрузка модулей powershell

25.01.2012 . Автор: rexxer

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

Но ставить туда админские утилиты от Lync не хотелось.

Нашел вариант удаленной загрузки модуля powershell для Lync:

#Import the Lync module
$lyncOptions = New-PSSessionOption -SkipRevocationCheck -SkipCACheck -SkipCNCheck
$lync = New-PSSession -ConnectionUri https://lync1/ocspowershell -SessionOption $lyncOptions -Authentication NegotiateWithImplicitCredential
Import-PSSession $lync

Там же и для Exchange:

#Load the Exchange cmdlets
$exch = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://exchange1/powershell
Import-PSSession $exch

Взято отсюда: http://www.mikepfeiffer.net/2012/01/managing-exchange-2010-and-lync-2010-from-a-single-powershell-session/

И еще полезный ресурс по Lync 2010: http://msunified.net/2010/11/22/lync-server-2010-features-and-how-to-configure-them/



Создание сертификата для Exchange 2010(2007)

09.11.2010 . Автор: rexxer

Взято отсюда: http://www.mikepfeiffer.net/2010/03/managing-certificates-using-exchange-2010-management-shell/

При создании сертификата не забывайте добавлять основное имя сертификата к альтернативным именам, иначе аутлук будет ругаться на прокси-сервер и не даст подключиться.

# Creating
$cert = New-ExchangeCertificate -GenerateRequest -SubjectName “c=US, o=Litware, cn=mail.litware.internal” -DomainName

owa.litware.internal,mail.litware.internal -PrivateKeyExportable $true

$cert | Out-File c:\cert.txt

# Go to site with Certsrv and get certificate - template Web-Server

# Import and assigning
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\cert.cer -Encoding Byte -ReadCount 0))

Get-ExchangeCertificate -DomainName owa.litware.internal | Enable-ExchangeCertificate -Services IIS,SMTP

# Export for future use or backup
$file = Get-ExchangeCertificate -DomainName owa.litware.internal | Export-ExchangeCertificate -BinaryEncoded:$true -Password (Get-Credential).password

Set-Content -Path “c:\cert.pfx” -Value $file.FileData -Encoding Byte

# Import exported and assigning
Import-ExchangeCertificate -FileData ([Byte[]]$(Get-Content -Path c:\cert.pfx -Encoding Byte -ReadCount 0)) -Password:(Get-Credential).password

Get-ExchangeCertificate -DomainName mail.litware.internal | Enable-ExchangeCertificate -Services IIS,SMTP

# Removing
Get-ExchangeCertificate | ?{$_.IsSelfSigned -eq $true} | Remove-ExchangeCertificate -Confirm:$false

И не вздумайте переключаться в панель управления и визуально продолжить начатое - получиться хрень.


Проверка целостности БД

18.10.2010 . Автор: rexxer

Example: isinteg -s server1 -fix -test alltests


Backup in Exchange 2007 SP2 - Consistency check for component …

12.10.2010 . Автор: rexxer

Столкнулся с такой проблемой при бэкапе на win2k8R2 + Exchange2007SP2:

делаю бэкап с помощью wbadmin и возникает примерно такая ошибка:

Consistency check for component ‘1a0a0e79-76ce-4985-aa99-35f5018b0ed7′\’Microsoft Exchange Server\Microsoft Information Store\SERVER1′ failed. Application ‘Exchange’ will not be avaliable in the backup done at time ‘10/14/2009 8:44:42 AM’

Погуглив некоторое время, нашел решение: http://blogs.technet.com/b/dhardin/archive/2009/10/21/vss-backup-using-windows-server-backup-on-exchange-server-2007-sp2-fails-when-lcr-or-scr-is-enabled.aspx

Рецепт прост:

RESOLUTION

In order to take an online Exchange-aware backup of a server using LCR or serving as an SCR target you must disable the Replica VSS Writer used by LCR.  To do so, follow these steps:

1.  Open Registry Editor and browse to the HKEY_LOCAL_MACHINE\Software\Microsoft\Exchange\Replay\Parameters registry key.

2.  Add a new DWORD value named EnableVSSWriter and set the value to 0 (zero).

3.  Restart the Microsoft Exchange Replication Service.

This will allow Windows Server Backup to use the Microsoft Exchange Information Store service’s VSS Writer to perform the backup.  You can confirm that the backup was successful by starting the Recovery Wizard in Windows Server Backup and verifying that you are able to select the Exchange application for recovery.