Если нужно восстановить удаленные пользователем из почтового ящика Exchange 2007 данные, а имеется только копия базы на файловом уровне (например, если Exchange живет в виртуальной машине и бэкапится только с помощью VMware DataRecovery), то придется воспользоваться PowerShell и, скорей всего, eseutil:
1. Запускаем Exchange Management Shell и создаем группу хранения для восстановления данных (специальная Storage Group с флажком Recovery) где-нибудь в удобном месте (для примера пусть это будет папка c:\rsg):
[PS] C:\>New-StorageGroup RecoveryGroup -LogFolderPath c:\rsg -SystemFolderPath c:\rsg -Recovery
2. Копируем файлы из бэкапа в папку группы хранения:
[PS] C:\>xcopy /e rsg_orig rsg
rsg_orig\E00.chk
rsg_orig\E0000000001.log
...
rsg_orig\E0000000015.log
rsg_orig\E00res00001.jrs
rsg_orig\E00res00002.jrs
rsg_orig\E00tmp.log
rsg_orig\Mailbox Database.edb
rsg_orig\tmp.edb
rsg_orig\CatalogData-efe5b62a-623d-48af-b63e-d69e71941047-cc64dd2d-2428-4f12-bba2-79d6d34c4d27\00010001.ci
...
rsg_orig\CatalogData-efe5b62a-623d-48af-b63e-d69e71941047-cc64dd2d-2428-4f12-bba2-79d6d34c4d27\Used0000.002
55 File(s) copied
3. Подключаем восстановленную почтовую базу как базу для восстановления данных:
[PS] C:\>New-MailboxDatabase -MailboxDatabaseToRecover "Mailbox Database" -StorageGroup RecoveryGroup
WARNING: The recovery database 'Mailbox Database' was created using the
existing file: c:\rsg\Mailbox Database.edb. The database must be brought into a
clean shutdown state before it can be mounted.
WARNING: The recovery database 'Mailbox Database' was created using the
existing file: c:\rsg\Mailbox Database.edb. The database must be brought into a
clean shutdown state before it can be mounted.
Name Server StorageGroup Recovery
---- ------ ------------ --------
Mailbox Database TEST-EXCHANGE RecoveryGroup True
Если база была отмонтирована на момент бэкапа, то предупреждений быть не должно и следующий шаг можно пропускать.
4. Переводим почтовую базу в clean shutdown state, о котором нас предупредили на предыдущем шаге, с помощью команды eseutil:
[PS] C:\>cd c:\rsg
[PS] C:\rsg>eseutil /r E00 /i /d
Extensible Storage Engine Utilities for Microsoft(R) Exchange Server
Version 08.03
Copyright (C) Microsoft Corporation. All Rights Reserved.Initiating RECOVERY mode...
Logfile base name: E00
Log files: <current directory>
System files: <current directory>
Database Directory: <current directory>
Performing soft recovery...
Restore Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|----|----|----|----|----|----|----|----|----|----|
...................................................
Operation completed successfully in 1.172 seconds.
Подробно об eseutil можно прочитать здесь:
http://technet.microsoft.com/ru-ru/library/bb123479(v=EXCHG.80).aspx
5. Можно монтировать восстановленную базу:
[PS] C:\rsg>Mount-Database "RecoveryGroup\Mailbox Database"
6. Ну и наконец-то можно восстанавливать контакты для нашего пользователя (пусть будет aaron):
[PS] C:\rsg>Restore-Mailbox aaron -RSGDatabase "RecoveryGroup\Mailbox Database" -IncludeFolders \????????
Вместо знаков вопроса здесь должно быть слово «Контакты»
7. После успешного восстановления данных не забываем убирать за собой:
[PS] C:\rsg>DisMount-Database "RecoveryGroup\Mailbox Database"
[PS] C:\rsg>Remove-MailboxDatabase "RecoveryGroup\Mailbox Database"
[PS] C:\rsg>Remove-StorageGroup RecoveryGroup
[PS] C:\rsg>cd c:\
[PS] C:\>rmdir c:\rsg