John Yassa's Blog

Home » Posts tagged 'exchange 2010 sp2'

Tag Archives: exchange 2010 sp2

MapiExceptionShutoffQuotaExceeded: IExchangeFastTransferEx.TransferBuffer failed (hr=0x80004005, ec=1245)

When importing PST into mailbox using the command New-MailboxImportRequest an error appears in the event log and the import operation failed

The error appeared as below in the event log

Log Name: Application
Source: MSExchange Mailbox Replication
Date: 2/16/2013 3:29:03 AM
Event ID: 1100
Task Category: Request
Level: Error
Keywords: Classic
User: N/A
Computer: Exchnage.domain.local
Description:
Request ‘RequestGuid (269c6164-b533-4a67-baa6-c3cbd91c2998), RequestQueue: (0d4dbbbc-cf43-4dce-844d-e8b9133e6402)’ (269c6164-b533-4a67-baa6-c3cbd91c2998) failed.
Error code: -2147467259
MapiExceptionShutoffQuotaExceeded: IExchangeFastTransferEx.TransferBuffer failed (hr=0x80004005, ec=1245)
Diagnostic context:
……
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=14479]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=28618]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=28874]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=797]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 17082 ROP Error: 0x4DD
Lid: 31329
Lid: 21921 StoreEc: 0x4DD
Lid: 31418 — ROP Parse Done —
Lid: 22753
Lid: 21817 ROP Failure: 0x4DD
Lid: 22630
Context:
——–
Operation: IMapiFxProxy.ProcessRequest
OpCode: TransferBuffer
DataLength: 31680
——–
Operation: IMapiFxProxy.ProcessRequest
OperationSide: Target
Primary (d284246a-b522-4356-8893-240806f05e4d)
OpCode: TransferBuffer
DataLength: 31680
Event Xml:
<Event xmlns=”http://schemas.microsoft.com/win/2004/08/events/event”&gt;
<System>
<Provider Name=”MSExchange Mailbox Replication” />
<EventID Qualifiers=”49156″>1100</EventID>
<Level>2</Level>
<Task>2</Task>
<Keywords>0x80000000000000</Keywords>
<TimeCreated SystemTime=”2013-02-16T01:29:03.000000000Z” />
<EventRecordID>15856</EventRecordID>
<Channel>Application</Channel>
<Computer>Exchnage.domain.local</Computer>
<Security />
</System>
<EventData>
<Data>RequestGuid (269c6164-b533-4a67-baa6-c3cbd91c2998), RequestQueue: (0d4dbbbc-cf43-4dce-844d-e8b9133e6402)</Data>
<Data>269c6164-b533-4a67-baa6-c3cbd91c2998</Data>
<Data>-2147467259</Data>
<Data>MapiExceptionShutoffQuotaExceeded: IExchangeFastTransferEx.TransferBuffer failed (hr=0x80004005, ec=1245)
Diagnostic context:
……
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=14479]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=28618]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=28874]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=0]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 31418 — ROP Parse Done —
Lid: 45095 EMSMDB.EcDoRpcExt2 called [length=31727]
Lid: 61479 EMSMDB.EcDoRpcExt2 returned [ec=0x0][length=61][latency=797]
Lid: 23226 — ROP Parse Start —
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 17082 ROP Error: 0x4DD
Lid: 31329
Lid: 21921 StoreEc: 0x4DD
Lid: 31418 — ROP Parse Done —
Lid: 22753
Lid: 21817 ROP Failure: 0x4DD
Lid: 22630 </Data>
<Data>——–
Operation: IMapiFxProxy.ProcessRequest
OpCode: TransferBuffer
DataLength: 31680
——–
Operation: IMapiFxProxy.ProcessRequest
OperationSide: Target
Primary (d284246a-b522-4356-8893-240806f05e4d)
OpCode: TransferBuffer
DataLength: 31680</Data>
</EventData>
</Event>

 

The solution was to remove the Mailbox quota on the mailbox you are trying to move to or remove the quota on the mailbox database you are trying to move to

OR you can at least increase the quota for both mailbox and mailbox DB

How to remove default mailbox database in Exchange 2010

Most of us as messaging administrators want to delete the default created mailbox database with any new exchange mailbox server

If you tried to delete this default database in normal way you will face the below error
1

So what to do to delete the default database!!!!!!!

below is the steps needed to delete the default database:

  1. Moving Arbitration Mailboxes (System Mailboxes , FederatedEmail) & Discovery mailbox

Get-Mailbox -Arbitration -Database “Mailbox Database 1973945018”
you will get the below result
getarbitration

Now moving this arbitration mailboxes to another DB (MailboxDB) using the below Command
Get-Mailbox -Arbitration -Database “Mailbox Database 1973945018” | New-MoveRequest -TargetDatabase MailboxDB
movearbitration

Now to move the Discovery mailbox , use the Exchange Mangement Console as below
movediscovery

Once all moves are complete, you can remove the move request from the Exchange management console
removemoverequest

2. Move Mailboxes exist on this Mailbox Database

you can do that by the following command :
Get-Mailbox -Database “Mailbox Database 1973945018” | New-MoveRequest -TargetDatabase MailboxDB
movemailboxes

3. Move any archiving mailboxes exist on this DB

Now get all archiving mailboxes and thier corrosponding DBs
Get-mailbox -archive | fl identity,database

Now move these archiving mailboxes to any other DB
Get-Mailbox -Archive | New-MoveRequest -ArchiveTargetDatabase ‘Mailbox Database’ -ArchiveOnly

4. Now you can delete the default Mailbox Database safely without any problem

Moving bulk mailboxes

How to move bulk mailboxes from one database to another one

There are more than one way to move mailboxes to another database:

1- Move all mailboxes in one database to another database, then you can use the command below, this will move all mailboxes from DB “Source mailbox DB” to “Destination Mailbox DB”

Get-Mailbox –Database ‘Source Mailbox DB’ | New-MoveRequest –TargetDatabase `  ‘Destination Mailbox DB’

2- Move few mailboxes, you can use the below command
$Mailboxes is an array containing the names of three mailbox
Each mailbox is passed into the New-MoveRequest cmdlet for processing not concerning the source mailbox DB

$Mailboxes = ‘john’,’nassan’,’yassa’

ForEach ($SingleMailbox in $Mailboxes) {New-MoveRequest –Identity $SingleMailbox ` –TargetDatabase ‘Destination Mailbox DB’ –BatchName Batch01}

3- Using CSV file, like the below where ID is the column header and use the below command

Import-CSV ./mailboxes.csv | foreach {New-MoveRequest -Identity $_.ID – TargetDatabase “Destination Mailbox DB“}

This will work regardless the source Mailbox DB

mailboxes-csv

Update Rollup 5 version 2 for Exchange Server 2010 Service Pack 2 is now aviliable

Microsoft has released Update Rollup 5 version 2 for Microsoft Exchange Server 2010 Service Pack 2 (SP2). This update is dated December 11, 2012.

Issues that the update rollup resolves

Update Rollup 5 version 2 for Exchange Server 2010 SP2 addresses the vulnerabilities that are described in Microsoft Security Bulletin MS12-080

. This update also resolves the issues that are described in the following Microsoft Knowledge Base (KB) articles:

For more information http://support.microsoft.com/kb/2785908

Find The Total Number Of Mailboxes In Your Domain

How can you quickly find the total number of mailboxes in your Domain? You can do it now by running a shell command.

Get-Mailbox -ResultSize unlimited | Measure-Object

You can further customize the command to your  requirements. Let’s say that you want to find out the mailboxes in one particular database or one particular server. You can find it by adding more switches to the above command. Run the following…

Get-Mailbox –database dbname -ResultSize unlimited | Measure-Object

Get-Mailbox –Server servername -ResultSize unlimited | Measure-Object

Disable “Automatically update e-mail addresses based on email address policy”

If you need to diable the “automatcially update e-mail addresses based on email address policy” option using powershell

1- For 1 user:
Set-mailbox  “MailboxAddress” -EmailAddressPolicyEnabled $false

2- For the whole mailboxes:
Get-mailbox | Set-mailbox  $_.Identity -EmailAddressPolicyEnabled $false

3- For some users within same OU:
Get-mailbox -OrganizationalUnit “OU name”| set-mailbox EmailAddressPolicyEnabled $false

4- For some users with the same domain name:
Get-mailbox -filter {EmailAddresses -like ‘*@Domain.com’} | Set-mailbox  $_.Identity -EmailAddressPolicyEnabled $false

After creating mailbox store , you face the error when you try to mount (MapiExceptionNotFound: Unable to mount database. (hr=0x8004010f, ec=-2147221233)

After creating a new mailbox store , you try to moun the mailbox store , but it failed with the below errors:

Failed to mount database ‘<test3>’.

<test3> Failed Error: Couldn’t mount the database that you specified. Specified database: <test3>; Error code: An Active Manager operation failed. Error: The database action failed. Error: Operation  failed with message: MapiExceptionNotFound: Unable to mount database(hr=0x8004010f, ec=-2147221233) [Database: <test3>, Server:<Servername>].

An Active Manager operation failed. Error: The database action failed. Error: Operation failed with message: MapiExceptionNotFound: Unable to mount database.(hr=0x8004010f, ec=-2147221233) [Database: <test3>, Server: <Servername>

An Active Manager operation failed. Error: Operation failed with message: MapiExceptionNotFound: Unable to mount database. (hr=0x8004010f, ec=-2147221233) [Server: <Servername>] MapiExceptionNotFound: Unable to mount database. (hr=0x8004010f,ec=-2147221233)

This issue occurs when the value of the ConfigurationDomainController parameter and the value of the PreferredGlobalCatalog parameter are different. In this scenario, the Mailbox database operation fails because of the replication latency that occurs between the configured domain controllers and the preferred global catalog.

I have tried to run the command get-ADServerSettings, and i got null result for the (Preferred Domain Controller)

To resolve this issue, set the preferred Active Directory server in Exchange Management Shell to the following cmdlet: Set-ADServerSettings –PreferredServer <DC FQDN>

Check Exchange 2010 , 2010 SP1 , 2010 SP2 Queue size automatically

You can use a script check number of mails stuck at the queue and send you an alert if the number of mails exceeds 10 or whatever number you want

You can schedule this script to run every 15 min

#Script:   GetQueueMails.ps1
#Purpose:  This script collect info about the server Queue and trigeer an alert if the #               number of mail in queue exceeds 10 mails it send a full report
#about mails in queue to the address mentioned below
#Author:   John Yassa
# Email:    John.nassan@yahoo.com
# Date:     June 2012
# Notes:
#            – tested with Exchange 2010 SP1 and Exchange 2010 SP2
#            – The log report output file will be created under “c:\queue.txt”

Add-PSSnapin Microsoft.Exchange.Management.PowerShell.E2010

$filename = “C:\queue.txt”

$server=get-queue

$server.messagecount

if ($server.messagecount -gt 10)

{

$server | Where-Object { $_.MessageCount -gt 10 } | Format-Table -Wrap -AutoSize | out-file -filepath C:\TEMP\qu.txt

Start-Sleep -s 10

$smtpServer= “IP of SMTP Server”

$msg = new-object Net.Mail.MailMessage

$att = new-object Net.Mail.Attachment($filename)

$smtp = new-object Net.Mail.SmtpClient($smtpServer)

$msg.From = “Mail From Address

$msg.To.Add(“Mail To Address“)

#$msg.To.Add(“user2@domain.com“)

$msg.Subject = “HUB SERVER QUEUE THRESHOLD REACHED”

$msg.Body = “Kindly check attached queue log file for more information”

$msg.Attachments.Add($att)

$smtp.Send($msg)

}

Exchange 2010 SP1 or SP2 OWA page not load after IIS reset

If you make a change in IIS, you need to reset IIS you just simply do IISRESET
This works on all other OWA or other servers, but on Exch2010SP1 or Exch2010SP2 after IISRESET owa page will not load,
after reboot the server all works fine.

IISReset.exe fails to stop the IIS services in a timely fashion. With the /NOFORCE switch included, IISReset.exe will not attempt to forcibly shut down the IIS services if the services do not stop gracefully.

Instead of using IISRESET you use net stop and net start command as below

C:\>NET STOP w3svc
The World Wide Web Publishing Service service is stopping.
The World Wide Web Publishing Service service was stopped successfully.
C:\>NET START w3svc
The World Wide Web Publishing Service service is starting.
The World Wide Web Publishing Service service was started successfully.

To stop and start the IIS Admin Service, run the following commands:
C:\>NET STOP iisadmin /y
The following services are dependent on the IIS Admin Service service.
Stopping the IIS Admin Service service will also stop these services.
World Wide Web Publishing Service HTTP SSL

The World Wide Web Publishing Service service is stopping.
The World Wide Web Publishing Service service was stopped successfully.
The HTTP SSL service is stopping. The HTTP SSL service was stopped successfully.
The IIS Admin Service service is stopping..
The IIS Admin Service service was stopped successfully.

C:\>NET START w3svc
The World Wide Web Publishing Service service is starting.
The World Wide Web Publishing Service service was started successfully.

 

 

%d bloggers like this: