Solved

After a restore OWA broken.

Posted on 2011-02-22
20
1,895 Views
Last Modified: 2016-10-27
Hi Guys,

I had to restore from a backup but unfortunately Acronis did a fairly bad job of things. Emails are all there (hopefully) but things are a bit screwy. For example all calender items have been recreated with no start date.

OWA doesn't work any more unless we use OWA light. (see attachment)

Right now my aim is to fix OWA so that it works perfectly for all users. I noticed that this is not a problem for new users.

Using myself as a guinea pig I deleted my mailbox and recreated it. I used a fairly clunky method for this that meant that  also had to recreate profiles on the desktop. What I did was:
Export everything to a PST
Delete mailbox and user from exchange management which also deleted the user from the AD (not cool)
Create the user again.
Create a new profile on the client PC (mine in this case)
Open the backup PST and drag and drop all items. (I really don't want to do this for all users as it is way too manual).

Trying to do it via export-mailbox gave these results:
You are running on a 64-bit computer. To export to or import from a .pst file,
you must be running a 32-bit computer that has Outlook 2003 SP2 or later instal
led.
At line:1 char:1
+ E <<<< xport-Mailbox -Identity me@ourcompany.com -PSTFolderPath b:\temp\me.pst



Request
Url: https://mail.ourserver.com:443/owa/forms/premium/StartPage.aspx
User host address: 10.143.79.3
User: ME 
EX Address: /o=Company Pty Ltd/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=me SMTP Address: me@ourserver.com
OWA version: 8.3.83.4
Mailbox server: servename.ourserver.local
Exception
Exception type: Microsoft.Exchange.Data.Storage.CorruptDataException
Exception message: Corrupt restriction filter data.

Call stack

Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.GetPropertyDefinition(MapiProp mapiProp, PropTag propTag) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateNativeFilter(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction restriction, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateFilters(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction[] restrictions, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateNativeFilter(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction restriction, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateFilters(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction[] restrictions, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateNativeFilter(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction restriction, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateFilters(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction[] restrictions, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateNativeFilter(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction restriction, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateFilters(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction[] restrictions, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateNativeFilter(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction restriction, Int32 depth) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.InternalCreateFilter(ExchangeTimeZone timeZone, MapiProp mapiProp, Restriction restriction, Int32 depth) 
Microsoft.Exchange.Data.Storage.SearchFolder.GetSearchCriteria() 
Microsoft.Exchange.Data.Storage.DefaultFolderManager.GetRemindersSearchFolderState(SearchFolder reminders) 
Microsoft.Exchange.Data.Storage.DefaultFolderManager.VerifyAndFixRemindersSearchFolder(StoreId reminderSearchFolderId) 
Microsoft.Exchange.Data.Storage.DefaultFolderManager.GetDefaultFolderId(DefaultFolderType defaultFolderType) 
Microsoft.Exchange.Clients.Owa.Core.UserContext.GetDefaultFolderId(DefaultFolderType defaultFolderType, String folderName) 
Microsoft.Exchange.Clients.Owa.Core.UserContext.get_RemindersSearchFolderId() 
Microsoft.Exchange.Clients.Owa.Premium.StartPage.OnInit(EventArgs e) 
System.Web.UI.Control.InitRecursive(Control namingContainer) 
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Inner Exception
Exception type: Microsoft.Exchange.Data.Storage.InvalidPropertyTypeException
Exception message: Unable to create custom property with property key [{00062002-0000-0000-c000-000000000046}:0x8232] type [Boolean].

Call stack

Microsoft.Exchange.Data.Storage.NativeStorePropertyDefinition.TryFindEquivalentDefinition(Key key, Boolean isCustom, PropType type, TypeCheckingFlag typeCheckingFlag, Boolean& createNewDefinition) 
Microsoft.Exchange.Data.Storage.GuidIdPropertyDefinition.InternalCreate(String displayName, Type propertyType, PropType mapiPropType, Guid propertyGuid, Int32 dispId, PropertyFlags flags, TypeCheckingFlag typeCheckingFlag, Boolean isCustom, PropertyDefinitionConstraint[] constraints) 
Microsoft.Exchange.Data.Storage.InternalSchema.PropertyDefinitionsFromPropTags(TypeCheckingFlag propertyTypeCheckingFlag, MapiProp mapiProp, PropTag[] tags) 
Microsoft.Exchange.Data.Storage.FilterRestrictionConverter.GetPropertyDefinition(MapiProp mapiProp, PropTag propTag)

Open in new window

0
Comment
Question by:jhhm
  • 8
  • 8
  • 2
  • +2
20 Comments
 
LVL 2

Expert Comment

by:cityhelper
ID: 34957773
Unfortunately your backup software didn't work too well but not much you can do about that at this point.  
What I'd probably do (if I understand the problem correctly) is:
1. Use a recovery tool like stellarinfo.com EDB recovery.  You can open up the .edb file (exchange database) and export from that pst's for each mailbox.
2. then I'd setup exchange like it was brand new, create new mailboxes for everyone and attach them to the active directory users that are there.
3. then I'd import the pst's into exchange using exmerge (don't do from outlook...).

This is assuming everything else with your users is fine and that your mailboxes are what got messed up in the move.

If your SIDs for your users are corrupted you have a bigger problem...
0
 

Author Comment

by:jhhm
ID: 34957818
SIDs are all good. Problem is limited to exchange but AD is all good.

What you have recommended sounds like a possible worst case scenario but thanks for the tip.  
0
 

Author Comment

by:jhhm
ID: 34957965
Quite simply what is the most elegant way of copying all data out of a mailbox, deleting the full contents of a mailbox and restoring those contents?
0
 
LVL 2

Expert Comment

by:cityhelper
ID: 34958014
Exmerge
0
 

Author Comment

by:jhhm
ID: 34958080
exchange 2007 doesn't support exmerge :(
0
 
LVL 2

Expert Comment

by:DezzyMelb
ID: 34958211
My Suggestion is to Check the users alias on their mailbox. You may find that it isn't set or it is set incorrectly. Also Was this your first email server in the organisation? If so you may need to setup OAB and Recipent policy's again.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 34958674
Exchange 2007 allows exmerge to run fine. Otherwise you will need to download the 32 bit e2k7 management tools to a 32bit PC that has Outlook so you can do export-mailbox.

What I would try first though, would be to install / re-install SP3 for Exchange 2007 on there and it should fix your OWA issue. NOTE: SP3 might remove a 3rd party cert from IIS, so you might have to re-enable your cert.
0
 
LVL 31

Expert Comment

by:LeeDerbyshire
ID: 34961316
I think the most significant part of that error message is the problem with the MAPI property 0x8232.  A search for that finds an interesting blog entry here:
http://www.andreatedeschi.com
searching for 0x8232 on that page finds an error message that is similar to yours.  It suggests first trying to run
outlook.exe /cleanreminders
on a workstation setup with the correct outlook user profile.  That didn't work in this case (although it might for you), so note the eventual fix using mfcmapi.
0
 

Author Comment

by:jhhm
ID: 34975742
Hey Evyerone,

This is where I am up to. I tried using export-mailbox to delete everyhting in the mailbox and then ran outlook.exe with all the different switches for cleaning stuff. That maibox is now empty but still gives the error messages.

I am still getting a missing dapi.dll error on exmerge. Any tips on how to install Ex merge?

Is there any other way of totally cleaning out and resetting a users mailbox? I really want to avoid a full reinstall of exchange.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 34977631
SP3 is not a reinstall of Exchange, have you tried it yet?
0
Complete VMware vSphere® ESX(i) & Hyper-V Backup

Capture your entire system, including the host, with patented disk imaging integrated with VMware VADP / Microsoft VSS and RCT. RTOs is as low as 15 seconds with Acronis Active Restore™. You can enjoy unlimited P2V/V2V migrations from any source (even from a different hypervisor)

 

Author Comment

by:jhhm
ID: 34977656
unfortunately. I installed sp3 in an effort to try and fix the server. did not work

at this stage my plan is to any suggestions would be greatly appreciated:
- disable exchange transport service (to stop any new messages from being delivered)
- run export-mailbox for all users (a script for this would be nice)
- detach each mailbox (deleting corrupt content)
- recreate each mailbox(
- use export-mailbox to restore data  (again a script for this would be nice)
- test
- drink beer.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 34977694
How about creating a new database and moving a faulty mailbox to it and seeing if it resolves your OWA problem? Moving mailboxes is quicker than exporting and importing them.

Other than that, have you tried outlook with the following switches?
/cleanreminders
/resetfolders
/resetfoldernames
/cleanfreebusy
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 34977704
Or if you already have another mailbox database, then move a faulty mailbox to it
0
 

Author Comment

by:jhhm
ID: 34977705
nice suggestion on moving the mailboxes but I tried that without luck. I believe I have tried all those switches but I might try again.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 34977728
If all those switches fail too, then try MFCMAPI as per this blog:
http://www.andreatedeschi.com/2009/11/unable-to-access-owa-corrupt.html
0
 
LVL 31

Accepted Solution

by:
MegaNuk3 earned 500 total points
ID: 34978783
Or
Try
outlook.exe /resettodobar /cleanprofile /cleanviews /cleandmrecords /cleanreminders /cleanfreebusy /cleanfinders /cleancategories /cleanroamedprefs

All on one line

The above is rumoured to work for your exact issue.
0
 

Author Closing Comment

by:jhhm
ID: 34978866
Whoo hoo!
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 34978903
Don't suppose you want to try those switches one by one on the next mailbox to see which one is the fix?   ;-)
0
 

Author Comment

by:jhhm
ID: 34994402
that would end up being a fairly big job given that the switches don't seem to take effect instantly.
0
 
LVL 31

Expert Comment

by:MegaNuk3
ID: 34994854
Do 1 switch each against 9 different mailboxes that have OWA issues. ;-)
0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Join & Write a Comment

Follow this checklist to learn more about the 15 things you should never include in an email signature from personal quotes, animated gifs and out-of-date marketing content.
In  today’s increasingly digital world, managed service providers (MSPs) fight for their customers’ attention, looking for ways to make them stay and purchase more services. One way to encourage that behavior is to develop a dependable brand of prod…
In this video we show how to create an email address policy in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Mail Flow…
The video tutorial explains the basics of the Exchange server Database Availability groups. The components of this video include: 1. Automatic Failover 2. Failover Clustering 3. Active Manager

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now