Friday, November 12, 2010

MapiExceptionNoSupport: IExchangeFastTransferEx.TransferBuffer failed hr=0x80040102, ec=-2147221246

These last couple of days I've been migrating a customer from Exchange 2003 to Exchange 2010 SP1.
All users were moved successfully, except one. On this user we got some strange error messages in the move-requeststatistics command and on the HUB transport responsible for the move.
The complete error message is posted at the bottom.

On this user the move-request failed after just some MB, and the troubleshooting begun.
These are the steps I took:
  • Use Exmerge on 2003 for .pst migration - Failed. The error message in the exmerge logfile is as follow:
    Error copying messages from folder '\Inbox' (MAPI_W_PARTIAL_COMPLETION) [22:14:27] Trying to copy messages in folder '\Inbox', individually. To avoid duplicates in the target store, messages will be merged and not copied into the target store. [22:14:27] Error getting Contents Table. (CopyMessagesToDestFolder)
  • Migration to another Exchange 2003 mailbox store - OK
  • Migration to Exchange 2010, gives the error message below.
  • Export to .pst from Outlook - OK
The solution for me was to use PFDAVAdmin and to reset the DACL on the mailbox. Tried the Check DACL state, before the Fix, and it said it was ok. But apparently not.


When the DACL was reset, the move-request went successfull.

Complete Error message:
Request domain.fqdn/OU/name' (f71639ea-0868-4527-b71e-7b6311359e98) failed.
Error code: -2147221246
MapiExceptionNoSupport: IExchangeFastTransferEx.TransferBuffer failed (hr=0x80040102, ec=-2147221246)
Diagnostic context:
Lid: 55847 EMSMDBPOOL.EcPoolSessionDoRpc called [length=470]
Lid: 43559 EMSMDBPOOL.EcPoolSessionDoRpc returned [ec=0x0][length=645][latency=0]
Lid: 23226 --- ROP Parse Start ---
Lid: 27962 ROP: ropFXDstCopyConfig [83]
Lid: 27962 ROP: ropTellVersion [134]
Lid: 27962 ROP: ropFXDstPutBufferEx [157]
Lid: 17082 ROP Error: 0x80040102
Lid: 31329
Lid: 21921 StoreEc: 0x80040102
Lid: 27962 ROP: ropExtendedError [250]
Lid: 1494 ---- Remote Context Beg ----
Lid: 1238 Remote Context Overflow
Lid: 32762 dwParam: 0x3FD60040
Lid: 30106 StoreEc: 0x471
Lid: 18842 StoreEc: 0x471
Lid: 20234
Lid: 3625 StoreEc: 0x471
Lid: 25066
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x668F0040
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x674A0014
Lid: 21970 StoreEc: 0x8004010F PropTag: 0x36138000
Lid: 31473 StoreEc: 0x8004010F
Lid: 39287
Lid: 17916 StoreEc: 0x80040102
Lid: 32252 StoreEc: 0x80040102
Lid: 7915 StoreEc: 0x80040102
Lid: 20320
Lid: 4559 StoreEc: 0x80040102
Lid: 21802
Lid: 19994 StoreEc: 0x80040102
Lid: 20202
Lid: 3305 StoreEc: 0x80040102
Lid: 32762 dwParam: 0x3FE00102
Lid: 32762 dwParam: 0x675C0102
Lid: 32762 dwParam: 0x67510003
Lid: 26346
Lid: 4073 StoreEc: 0x80040102
Lid: 28570 StoreEc: 0x80040102
Lid: 29738
Lid: 3401 StoreEc: 0x80040102
Lid: 1750 ---- Remote Context End ----
Lid: 26849
Lid: 21817 ROP Failure: 0x80040102
Lid: 22630
Context:
--------
Operation: IMapiFxProxy.ProcessRequest
OpCode: TransferBuffer
DataLength: 404
--------
Operation: IMapiFxProxy.ProcessRequest
OperationSide: Target
Primary (f71639ea-0868-4527-b71e-7b6311359e98)
OpCode: TransferBuffer
DataLength: 404

Friday, October 22, 2010

File Server Resource Manager migration - Filescrn

Today I'm working on a Win2003 File Cluster upgrade to Win2008R2 Cluster.
The customer are using the File Screening feature in Windows 2003 R2, and would like to have the templates, file groups and file screens on the new 2008R2 cluster.

To do this migration, you have to have at least one cluster disk in your 2008R2 cluster.
On Win2003R2:
  • Start command prompt and do the following commands
  • filescrn filegroup export /path:C:\temp\filegroupname.xml /filegroup:NameOfFilegroupToExport
  • filescrn template export /path:C:\temp\templatename.xml /filegroup:NameOfTemplateToExport

If you know try to import these files into 2008R2, you'll get the following error message:

The version of the configuration file you are trying to import is not supported.
You cannot import configuration files with database versions earlier than 2.0.

To resolve this, open the .xml files you exported and change the
  to

You are now able to import the files on the 2008R2 server.

To import on 2008R2, do as follow:
  • Start command prompt and do the following commands:
  • filescrn filegroup import /path:C:\temp\filegroupname.xml /filegroup:NameOfFilegroup
  • filescrn template import /path:C:\temp\templatename.xml /filegroup:NameOfTemplate
Your templates and filegroups should now be configures as they were in the 2003 cluster.

All you have to do now is to create the screening rules, associate a template to a volume, and your good to go.

After this configuration has been made, do a cluster failover and verify that the configuration is correct on the other nodes in the cluster.

Thursday, October 21, 2010

Exchange 2010 - Lotus Notes - Transporter Suite - Directory Sync

Im doing a Exchange 2010 migration from Exchange 2003. The customer are using the Exch2003 Notes Connector, and we have to move this solution so we can remove the Exchange 2003 solution.
As we all know, Microsoft has statet that they don't want to create a new Transporter Suite which was shipped for Exchange 2007 to support Exchange 2010. We have chosen to use the Transporter Suite, but to do this in a supported way, we installed a Exch2007 Mailbox /CAS server.
My customer uses the Notes connector for Directory import with a partner, and are not used for migration between Notes and Exchange.

To use the Transporter Suite in a Exchange 2010 environment for directory syncronization, you have to do as follow:
  • Install an Exchange 2007 server holding MBX and HUB or CAS in your environment.
  • Install Lotus Notes version 7.1 or higher (I used 8.x) in "this user only". Transporter Suite does not like multiple notes.ini files
  • Make sure your server can do name resolution to Notes server, and that the ports are open.
  • Create a new connector with the settings you want regarding notes server, Notes addressbook name, domain name, what to syncronize to Notes.
  • Get GUID from legacy connector (powershell)
  • Get GUID from new connector (powershell)
  • Delete legacy Notes Connector from AD (Adsiedit.msc)
  • Create a OU where you want the users to be created in AD. If you do an upgrade from Exchange 2003 skip this.
  • Give the computer account running the Transporter Suite Account Operator permissions / FC on the OU where notes contacts should be created
  • If your Notes hosts multiple SMTP domains, you have to edit the file dominotoexchangerules.tbl. This file does some matching against the SMTP domain you specify on your connector. If the SMTP domain does not match, you get a lot of Notes users with primary SMTP addresses with / and % which gives a lot of errors. If the match failes, it adds the Notes internal address and adds the domain specified which gives you for sure an unsupported  SMTP address.
    I changed the following fields to just put the Notes InternetEmailAddress as primary SMTP on the Contact object.
    TA=InetAddr
    PriSMTP=InetAddr
    SecSMTP= Deleted
  • Run Full import to AD and Full Import to Notes
  • Only neccary if you are upgrading legacy connector:
    Run the following command to upgrade/ take overship of existing Connector contacts:
    Start-DominoDirectoryConnector -Identity newconnectorGUID -TakeOwnership -LegacyConnectorID
  • All your Notes Contacts should now ha primary e-mail as a legal SMTP address, and not notes user id or notes interal address.
  • Uninstall Notes connector tool on Exchange 2003.
Since the new transport suite uses SMTP for routing you could create a SMTP send connector to send the mail to the specific servers if necessary. But since SMTP is enabled, you could relay on the MX on internet to deliver the mail for you.

This is my solution to using Transporter Suite in Exchange 2010 environment.

Thursday, October 7, 2010

Direct Access - UAG - 2003 File Cluster Access

At a customer who has deployed DA, we have a strange problem.
The clients using DA suddenly got disconnected from the networks share on a 2003 FileCluster.
This could be only seconds after they connected, that they got a red cross on the network drive. when accessing the drive, they either got an error saying it could not connect, or it connected as normal. If the error message was thrown, they tried again, and got connected.

After a lot of troubleshooting, the explanation was found. When one user is connected to the fileshare over DA its OK, when a new user connects to the fileshare, the new connection resets the old one. This is because the UAG server is using NAT64 the UAG server is responsible for terminating the DA sessions and transalating them to Ipv4. More info here: http://blogs.technet.com/b/edgeaccessblog/archive/2009/09/08/deep-dive-into-directaccess-nat64-and-dns64-in-action.aspx.

If the fileserver had been 2008 servere this would not have been an issue, since DA would not use NAT64, and IPv6 could have been used for the entire session.

Due to NAT64 the UAG server needs to create a sessions for each DA user to the 2003 file cluster share. This is not supported in  SMB1 http://support.microsoft.com/kb/301673,
but is supported in SMB2.
Microsoft gives you 2 option, block port 445 and use Netbios, or upgrade the file cluster to 2008, which support SMB2.


*************UPDATE*****************
Microsoft has confirmed this issue, and are working on a hotfix KB2444558 that will fix this issue.

This issue can also affect the authentication between DA and 2003 domain controllers, since this also uses SMB. 
The expected release date is week 48.
*******************************************

Monday, September 6, 2010

Paternity leave and vacation

I'm on paternity leave and vacation.

Will be back 13 sept.

Friday, July 2, 2010

Iphone OS4 - Exchange Activesync issues

Apple has created a hotfix for issues regarding OS4.0 and activesync.
http://support.apple.com/kb/TS3398

This hotfix needs to be installed on the iPhone.

Monday, June 28, 2010

Unable to access mailbox after migration from Exchange 2003 to Exchange 2010

I migrated 400 users this weekend to Exchange 2010. The migration seems like the migration went well, since all the move requests came out 100% completed and no one reported any errors. But something didn’t go successfully as reported…..


Right now I have completed troubleshooting an issue where a migrated user was not able to access his mailbox. The users who by the move request report went successful, but not all of the AD attributes were updated.

This is an excerpt of the migration log:
Status : Completed
StatusDetail : Completed
SourceVersion : Version 0.0 (Build 7638.0)
SourceDatabase : exchange2003server\Storage Group\DBname
TargetVersion : Version 14.0 (Build 639.0)
TargetDatabase : 2010-databasename
MoveServerName : fqdn.servername
TotalMailboxSize : 2.951 GB (3,168,187,842 bytes)
TotalMailboxItemCount : 21074
BytesTransferred : 2.717 GB (2,917,612,755 bytes)
ItemsTransferred : 20958
PercentComplete : 100

I then did a get-mailbox username and this gave me the following result:



And this is strange, the log says it completed successfully, but AD says it’s on the Ex2003 server.

I then did | fl to get some more info, and the recipient type and recipient type details returned usermailbox, the Exchange version on the user was 0.10(14.0.100.0). And all these values were correct compared to the migration log.
The only attributes that was wrong on the user object was serverlegacyDN and Servername where it pointed to the Ex2003 server and Ex2003 administrative group.

This pointed me to something going wrong in Active Directory, at the current moment.
I went in to Active Directory with ADSI edit and changed the following attributes
HomeMDB and mdexchhomeservername to the new Exchange 2010 paths.

After changing this to the correct values, the mailbox worked as normal, and the get-mailbox username returned the correct value on servername and serverlegacyDN