Service Pack 1 of Exchange Server 2010 has some new cool features. One of the new cool features is the ability to repaire an Exchange Mailbox. Microsoft created a new commandlet based on the ISInteg tool available in older Exchange Server versions.

Service Pack 1 of Exchange Server 2010 brings us the following two commandlets;

  • New-MailboxRepairRequest
    Used to detect and fix mailbox corruptions. You can run this command against a specific mailbox or against a database. While this task is running, mailbox access is disrupted only for the mailbox being repaired. If you’re running this command against a database, only the mailbox being repaired is disrupted. All other mailboxes on the database remain operational.
  • New-PublicFolderDatabaseRepairRequest
    Used to detect and fix replication issues in the public folder database. Public folders on the public folder database can still be accessed while the request is running. However, access isn’t available to the public folder currently being repaired.

The New-MailboxRepairRequest commandlet detects and fixes the following types of mailbox corruptions:

  • Search folder corruptions (SearchFolder)
  • Aggregate counts on folders that aren’t reflecting correct values (AggregateCounts)
  • Views on folders that aren’t returning correct contents (FolderView)
  • Provisioned folders that are incorrectly pointing into parent folders that aren’t provisioned (ProvisionedFolder)

The New-PublicFolderDatabaseRepairRequest commandlet detects and fixes Public Folder replication state problems.

After you submit the MailboxRepairRequest or PublicFolderDatabaseRepairRequest you can see the results in the application event log on the Exchange server hosting the mounted mailbox database.

The following events can be logged after repair requests:

  • 10047 A mailbox-level repair request started;
  • 10064 A Public Folder repair request started;
  • 10048 The repair request successfully completed;
  • 10050 The mailbox repair request task skipped a mailbox ;
  • 10059 A database-level repair request started;
  • 10062 Corruption was detected.

The following event can be logged while requesting the repair:

Event-id: 10047 – Source: MSExchangeIS Mailbox Store
Mailbox level online integrity check for request 928d3c6d-f1ce-4d6b-bac7-b58b30b5189b started:
Database=Mailbox Database
Mailbox=8B78D74F-54CF-4060-AA98-D05D70FEACAE
Flags=Detect
Tasks=SearchFolder, ProvisionedFid

After the repair is finished the following event can be logged:
Event-id: 10048 – Source: MSExchangeIS Mailbox Store
Online integrity check for request 928d3c6d-f1ce-4d6b-bac7-b58b30b5189b completed successfully.

Syntax and examples New-MailboxRepairRequest

New-MailboxRepairRequest -Mailbox <MailboxIdParameter> -CorruptionType <MailboxStoreCorruptionType[]> [-Archive <SwitchParameter>] [-Confirm [<SwitchParameter>]] [-DetectOnly <SwitchParameter>] [-DomainController <Fqdn>] [-WhatIf [<SwitchParameter>]]

If you want to fix a mailbox for one user, for for-instance user jones you can use the following command;

New-MailboxRepairRequest -Mailbox jones -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView

If you want to detect errors for a mailbox for one user, for for-instance user jones you can use the following command;

New-MailboxRepairRequest -Mailbox jones -CorruptionType SearchFolder, AggregateCounts, ProvisionedFolder, FolderView -DetectOnly

Syntax and examples New-PublicFolderDatabaseRepairRequest

New-PublicFolderDatabaseRepairRequest -Database <DatabaseIdParameter> -CorruptionType <PublicFolderDatabaseCorruptionType[]> [-Confirm [<SwitchParameter>]] [-DetectOnly <SwitchParameter>] [-DomainController <Fqdn>] [-WhatIf [<SwitchParameter>]]

If you want to fix replication issues, for for-instance public folder database PF-DB you can use the following command;

New-PublicFolderDatabaseRepairRequest -Database “PF-DB” -CorruptionType ReplState

If you want to detect replication issues, for for-instance public folder database PF-DB you can use the following command;

New-PublicFolderDatabaseRepairRequest -Database “PF-DB” -CorruptionType ReplState -DetectOnly

 

Comments