Tuesday, June 28, 2011
Oracle Beehive to Exchange Migration
Turns out that at least one Oracle Beehive site (see: Is Oracle Beehive DBA (Dead Before Arrival)?) wants to migrate to Exchange.
A quick look at the Oracle Beehive Administrator's Reference Guide and our technology convinces me it should be not too difficult to do at the level we do it at: full-state, server-side to server-side.
Summary changes in our usual process:
Use xCalReader's ICS option.
You'll need a USERS.TXT and RESOURCES.TXT, which should come out of the Beehive utilities list_users and list_resources (be careful of format).
And you will need to export the calendars using the export_icalendar function.
Friday, June 24, 2011
When a user has 15,000+ unread items in the inbox....
Last week we moved a client into Exchange 2010 (on-premesis). BUT the Sumatra Exchange insertion tool hung while inserting one user. For hours. Restarting the tool and rebooting boxes didn't help. After much digging we found the problem: that end user had 15,000+ unread emails in her inbox. What was the issue? (no, not why would we migrate a user with 15,000 unread emails in their inbox who probably left the company three years ago....)
The client hit an Exchange threshold. The issue is described in a Microsoft Technet article: Understanding the Performance Impact of High Item Counts and Restricted Views.
The article says: ...In Exchange 2007 ... an acceptable user experience can still be maintained with item counts as high as 20,000 items. We're still researching if that limit changed for Exchange 2010. Our client hit that wall in Exchange 2010.
So who are these big-bad-inbox-boys and girls? Here's a powershell command: (note, I've set a conservative threshold of 10,000 items for just user mailboxes.)
Get-Mailbox -filter {RecipientType -eq "UserMailbox"} -ResultSize unlimited Get-MailboxFolderStatistics where {($_.name -eq "Inbox" -or $_.Name -eq "Calendar") -AND $_.itemsinfolder -ge 10000} sort-object ItemsinFolder -Descending ft Identity,ItemsinFolder,FolderSize
-Russ
Follow-on to the Headaches of Cloud Migration
http://ferris.com/2011/06/03/moving-to-hosted-exchange-plan-for-hiccups/
There is never a free ride when you move an entire server.
Friday, June 17, 2011
International Characters and an OCS to Google Calendar Migration
Thursday, June 09, 2011
Oracle Calendar to Google Calendar - Server-Side Full-State Migration
Yep. You read me right: Full state.
Meetings are meetings with guest lists and status.
This will also work for Zimbra calendaring to Google and Meeting Maker to Google.
We are still working on a few parts of this, but it is now basically completely functional and in two test sites.
One other thing. If you wanted to take all your calendar data from something called Microsoft Exchange and migrate it full-state into Google Calendar, that can be arranged.
June 12: In response to queries. This is all SERVER-SIDE to server-side with no end-user / client-side intervention.
Wednesday, May 25, 2011
Inserting holidays into hosted Exchange without an Outlook client
So extending Decaf to insert holiday files was not too much of a stretch.
Since we focus on migrating OCS to Exchange, we used the relevant parts of their ICS format for our template.
Create a text file using this template to insert holidays:
BEGIN:VCALENDAR BEGIN:VEVENT TRANSP:TRANSPARENT SUMMARY:New Year’s Day STATUS:CONFIRMED LOCATION: Any time zone in your system DESCRIPTION: No work day DTSTART;VALUE=DATE:20120101 DTEND;VALUE=DATE:20120101 END:VEVENT END:VCALENDAR BEGIN:VCALENDAR BEGIN:VEVENT TRANSP:TRANSPARENT SUMMARY:Holiday on the 14th STATUS:CONFIRMED LOCATION: Company-Wide DESCRIPTION: Suppose Jan 14 was a holiday in your company DTSTART;VALUE=DATE:20120114 DTEND;VALUE=DATE:20120114 END:VEVENT END:VCALENDAR |
This will insert server-side and happen on the given dates, regardless of time zone (!) So a user in the USA or Canada need only put one holiday file together and can use it for all users.
And you go here to insert it. Our usual restrictions apply. Of course UNDO works for this.
As always, any feedback is welcome.
We're debating whether to include an option to insert for all users on a domain -- which is certainly possible but we're a little leery if it's in demand.
Wednesday, May 18, 2011
Sumatra Decaf: Insert Oracle Calendar ICS into Hosted Exchange
- This works only for hosted Exchange (e.g., Live at Edu, Office365, BPOS)
- We keep track of the domains that insert and limit it to 5 accounts on that domain by default
- We've geared this to the ICS exports from Oracle Calendar System. Others MIGHT work, but they are a lower priority to us. Each ICS upload is limited to 1 Mb and it inserts only from Today (i.e., the date you are inserting) forward.
- In a few days we'll show you how to use this to insert holidays server-side.
- Read the Help PDF at the site for more information.
Sunday, May 15, 2011
Silverlight web service times out after 60 seconds
You've set httpRuntime executionTimeout and binding SendTimeout, but your app still times out after 60 seconds. The problem is the CLIENT, not the server, is timing out.
In your Silverlight app, set a timeout after you instantiate your service client. For example, set a 30 min timeout on your service called "mySvc:"
mySvc.ChannelFactory.Endpoint.Binding.SendTimeout = New TimeSpan(0, 30, 0)
Friday, May 13, 2011
Creating All Day Events with EWS in Office365

Thursday, May 05, 2011
Web-Based, one-step Oracle Calendar to Hosted Exchange migration
We're looking at how we want it to evolve and would welcome some input from you folks.
Thursday, April 28, 2011
Progress on migrations to Google Calendar
Check out this screenshot from our latest tech:
The important thing is the yellow highlighting. Yep -- we got attendees in with their responses.
Now we're working on the mappings and recurrences. So those of you out there stay tuned -- there is light at the end of the tunnel
Monday, April 04, 2011
Creating a Room in Office 365 Beta
Monday, March 28, 2011
Oracle Calendar Migrations and Long Resource Names
If your Oracle Calendar resource name is longer than 32 characters (and those 32 characters were the same as some OTHER resource's) we weren't handling the error condition gracefully.
That is fixed in version 5.1.01 of xCalReader.
This is probably not an issue for most teams in migration but if you do not have the latest version and want it just contact us.
Friday, March 25, 2011
Outlook Live URL changes
URL Changes |
URLs that go directly to Outlook Web App, such as http://outlook.com or http://outlook.com/owa should be changed to go to http://outlook.com/ |
|
If you are using the URL http://outlook.com/ecp to access the Exchange control panel management interface, you will also want to modify that URL to look like this: http://outlook.com/ecp/?realm=contoso.edu. |
Single Sign-On Changes |
Single sign-on solutions using the Live@edu SSO toolkit must make the following changes: |
|
Monday, March 07, 2011
Oracle Calendar / Outlook Free Busy Interchange


Uniical –export –u “S=Hendrix/G=Jimi” –f /…/EXPORT/jimi.hendrix.ics -n 1 –end 12/31/2011 –start 10/31/2011 –p PASSWORD |
So what does ICS look like and what schematic takes it into IFB?
WARNING: Experimental evidence has shown that for this to work a contact with Internet Free Busy MUST be in your Contacts folder, not a subfolder, or a folder with any other name. |
Friday, March 04, 2011
New xCalReader for using ICS format to migrate Oracle Calendar
NB: This is because we've been picking up increasing reports of weirdness with the UNICPOUTU format. We've applied all our usual expertise to the iCal exports: including converting RDATE arrays to real recurrence patterns using RTYPE in Outlook / Exchange.
Also this includes support for Zimbra 6 migration.
Tuesday, March 01, 2011
New Mantra
Hear it once, it's a trick.
Twice it's a special project.
Three times it's a new Sumatra product.
So the topic on the table here is Meeting Maker to Google Calendar migration (with link preservation).
We've had two requests in the last week. Is there anyone else out there?
Sunday, February 20, 2011
More Zimbra 6 to Exchange 2010 / Cloud
Migrates to Exchange like this:
Friday, February 18, 2011
Zimbra 6 to Exchange 2010 calendar migration
And now is when people are starting to contact us en masse asking if we can move their calendars from Zimbra 6 to Exchange 2010.
Yes, we can.
The way we do it is really convenient. We open the mySQL database and read all the calendar, contact, and task data directly and insert it into Exchange using our usual, field-proven process.
You heard that right: NO user intervention, one spot for an Admin to pull the data and insert the data.
Contacts and Tasks come along for the ride too.
Friday, January 28, 2011
Color-coding your inserted calendar data
Did you know it's possible to color-code your inserted calendar data?
What amazes me is how simple it is.
In the following example we've inserted several times (with a minimal data set) adding additional digits to our usual Category string:
All you need do on an individual basis is Manage the categories (seen here in OWA our client of choice on the Cloud).
Wednesday, January 19, 2011
More on Live @ Edu vs. On-Premises Exchange Speed Differential
Live@EDU | On-Premises |
| ||||
Object Count | 7675 | 7585 |
| |||
Total Time (seconds) | 4193.25 | 597.01 |
| |||
Total Time (minutes) | 69.89 | 9.95 |
| |||
Average Insertion time | 0.55 | 0.08 |
| |||
Mode | 0.41 | 0.05 |
| |||
Median | 0.44 | 0.05 |
| |||
Max | 9.29 | 3.5 |
| |||
Min | 0.10 | 0.03 |
|
So our latest tests on inserting calendar items into Live@Edu vs. inserting into on-premises Exchange gives us a 7:1 time ratio.
That is: it is currently about seven times faster to migrate calendar data into your own Exchange server than it is to migrate it to Live@Edu. We've seen the same data set go far longer, but this is a good estimate to use in your planning purposes. Also yesterday another real-world site reported a figure similar to the one we found.
Just so you know.
Friday, January 07, 2011
Oracle Calendar to Exchange using UNIICAL / ICS formats
Oh yeah, same deal: we re-create meetings with responses and have put in tech to turn RDATE strings into real recurrence patterns (your Outlook client will thank you for that).
Sunday, January 02, 2011
iPhone Alarm Glitch Greets New Year
Apple of course offers no explanation because as all Apple employees know, Apple can do no possible wrong.
Monday, December 27, 2010
Oracle Calendar / Exchange Free/Busy
If any sites currently in an OCS to Exchange migration with us want to try out Outlook based Free/Busy queries into Oracle Calendar, please drop your Sumatra contact a line.
We are looking for "informed consent experimental subjects."
Monday, December 20, 2010
Quotas and Live @ Edu Migrations
One went into BPOS (one of the dumbest acronyms EVER!) which is in reality Exchange 2007, which does NOT have submission quotas. (So now you know where this is heading)
The other site went into Live @ Edu which, despite their having had their submission quotas removed for purposes of migration, found the quotas very much in place.
So this is about what you'll see if one of your users hits submission quota in a migration.
In this example we kept inserting meetings until we hit quota. So one went in fine (you see the guest list and responses) and one did NOT (it says "Invitations haven't been sent for this meeting").
Once your submission quota rolls over (and when is that exactly?) you can send this and it'll go out like a regular meeting invitation. Not fatal in a migration, but we agree, it is darned annoying.
Thursday, December 09, 2010
EWS, Outlook Live, Exchange Release Levels, OWA, and WTF?
The subject started out as Holidays but morphed into the more general one of All Day Events (ADEs).
Using EWS, it is possible to insert ADEs and we do LOTS of them in the course of a migration.
BUT, some combination of EWS, Exchange release levels, and OWA are currently giving our usually stable process conniption fits.
Start off with inserting an ADE under either Exchange 2007 rules (with deprecated Time Zone, rules, but bear with us for a moment here) into Live@Edu (not that we have a client trying to do this exactly now or anything like that).
In Outlook attached to Live @ Edu they will appear correctly (as below) if you specify Exchange 2007 SP1. But it will appear as a two day banner if you specify Exchange 2010.
JUST to keep thing really really interesting, viewing the EXACT SAME ADEs in OWA shows the 2007 SP1-defined ADE showing up correctly, and the 2010-defined ADE spanning THREE days:
If your head does not hurt you have not been paying attention.
SO, for the time being while running a holiday insertion with our tools, specify Exchange 2007 SP1. Everything will be hunky-dory.
Don't believe us? Here's the VB .net code (we use Exchange Web Services Managed API v1.1. )
Public Function ewsBuildAllDayEvent() As String
Try
Dim myUserEmail As String = "user10@test.com"
Dim myEWSURL As String = "https://sn1prd0202.outlook.com/EWS/Exchange.asmx"
Dim myExchangeVersion As ExchangeVersion = ExchangeVersion.Exchange2007_SP1
Dim myLogon As String = "admin@test.com"
Dim myPassword As String = "Gu3ssWh0"
'create Service
service = New ExchangeService(myExchangeVersion)
service.Url() = New Uri(myEWSURL)
service.Credentials = New WebCredentials(myLogon, myPassword)
service.ImpersonatedUserId = New ImpersonatedUserId(ConnectingIdType.SmtpAddress, myUserEmail)
'build appointment
Dim appointment = New Microsoft.Exchange.WebServices.Data.Appointment(service)
appointment.subject = "MyTestADE"
appointment.Start = CDate(Now.ToShortDateString)
appointment.End = CDate(DateAdd(DateInterval.Day, 1, Now))
If myExchangeVersion = ExchangeVersion.Exchange2007_SP1 Then
appointment.StartTimeZone = System.TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
Else
appointment.StartTimeZone = System.TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
appointment.EndTimeZone = System.TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
End If
appointment.LegacyFreeBusyStatus = LegacyFreeBusyStatus.Busy
appointment.isalldayevent = True
appointment.Save(SendInvitationsMode.SendToNone)
Return "OK"Catch ex As Exception
Return ("ERROR: " & ex.Message)
End TryEnd Function
Monday, December 06, 2010
Migrating Email? Check out this blog
We do not touch email since we're calendaring guys and enough other people handle email.
But when we see a site that specializes in it and conceptualizes migrations in ways that we ourselves espouse, we just need to let you know.
Such a site is MigrationWiz.
I hate the name (any male who has been a teenager in the USA smirks when the word "wiz" shows up anywhere), but their analyses of email migration are right on.
Thursday, December 02, 2010
Asynchronous Programming
They told us about a new Asynchronous Programming module (http://msdn.microsoft.com/en-us/vstudio/async.aspx.) I'm very interested in this because many customers in Sumatra's Education market segment are migrating to Exchange in the Cloud -- Microsoft's
Live@EDU. When inserting lots of data, the variability of "network speed" makes insertion times difficult to predict. We explored changing the Sumatra code to run on multiple threads, but concluded it added more complexity to the code and didn't address the underlying bottleneck: network latency.
What I find interesting about this CTP is that the new async calls have the potential to work around latency issues without increasing code complexity. We'll be testing this in our labs in the next few weeks!
Thursday, November 18, 2010
Exchange 2010 SP1 Managed API 1.1 released
Friday, November 12, 2010
Exchange 2010 Mapping Users - A Brief Guide

We design the process so that by the time you've created your intermediate database you should already have the email addresses for these users in the Users table.
So the brief rules are:
- Do NOTHING for OCS email addresses that are the same as in Exchange
- Add entries to the User_Adjusted_Maps table to map OCS accounts that have different Exhcange addresses
- Run the following queries Q_Build_CustIDs_From_MMUserids, Q_Build_CustIDs_AdjustMMUsersids, Q_1_Make_User_Map, FInd duplicates for MM_Exchange_User_Map
- Look at the results in MM_Exchange_User_Map
- Repeat until all of your accounts are done.

If Oracle Calendar Server IDs are THE SAME as Exchange:
- Make sure the Primary SMTP or UPN is defined as login@mydomain.com
If Oracle Calendar Server IDs are DIFFERENT from Exchange:
- MAP the differences (Tables)
- Build the mapping table
- Overlay the changes
Once you've got all your users mapped you can just edit the mapping table. But please exercise proper handling and care with it. You do not want to be wondering which version to use when starting yoru migration at midnight on a Friday.
Wednesday, November 10, 2010
UNICPOUTU unreliable in some Oracle Calendar Environments
Sometimes though this gets more difficult when there's bugs in the legacy system.
One of our clients (shout out to Matt in North Carolina!), discovered some data missing from the UNICPOUTU export in their Solaris environment.
Quel horreur!
It's been mentioned a little on the OCS boards, but nobody is making a big deal about it and it is unlikely Oracle is going to fix it to make breaking your OCS habit any easier.
Thus far we've seen this ONLY with OCS 10.x on Solaris (all the 9.0.4 migration systems look absolutely peachy and we've been doing 10.x for years with no issues). We suspect it's with the very latest and is more prone to happen when the export is constrained by date (so export everything and let us segment it in our tools).
So as always, keep an eye out.
Monday, November 08, 2010
Putting Holidays into Live @ Edu Server-Side
Note that this is an All Day Event (and you can specify if the time is to be shown BUSY or FREE):
Any of you who have been through a migration with us know why we keep the "(Migrated)" tags, but you can decide to not use them.
This is scriptable so you can create holidays as you provision users if you have an automated system for so doing.
A few other things to keep in mind:
- This runs as an EWS application from a 32-bit workstation. So all your credentials are completely under your control. If there's demand to run this as an online service we'll listen.
- We take the default time zone of your server for all insertions. If you have users in multiple time zones and want to do this contact us -- that would be a different version.
- You can specify a single user, a list of users, or an LDAP query to handle your insertion.
Friday, November 05, 2010
Handling Conference Rooms in a migration into Exchange
Put all resources in one or more OUs for ease of administration.
PRIOR to migration:
- ENABLE all of the resource accounts via Active Directory Users and Computers
- HIDE the accounts from the GAL
- Configure resources NOT to AutoAccept meetings
AFTER the migration
- Disable the accounts and add them to the GAL
- Configure the resource for AutoAccept (if you desire first-come-first-served functionality) or
- Use group-policy settings for managed rooms and resources
Wednesday, November 03, 2010
Exchange 2010 Permissions for Migration

It's the permission you need to give your service account to execute a full-state calendar migration.
Create a managementRoleAssignment:
new-ManagementRoleAssignment
-Name:_suImp8
-Role:ApplicationImpersonation
-User:'mysvcaccount@mydomain.com'
If you have to ask where you're doing this, please go to your Exchange Administrator.
Sunday, October 31, 2010
Exchange 2010 - Throttling During a Migration
So -- when doing a migration of about any non-trivial size into 2010 you're going to have to set a new throttling policy here called "SuPolicy":
New-ThrottlingPolicy SuPolicy
Set-ThrottlingPolicy SuPolicy -RCAMaxConcurrency $null
-RCAPercentTimeInAD $null
-RCAPercentTimeInCAS $null
-RCAPercentTimeInMailboxRPC $null
-EWSMaxConcurrency $null
-EWSPercentTimeInAD $null
-EWSPercentTimeInCAS $null
-EWSPercentTimeInMailboxRPC $null
-EWSMaxSubscriptions $null
-EWSFastSearchTimeoutInSeconds $null
-EWSFindCountLimit $null
Set-Mailbox myserviceaccount@mydomain.com -ThrottlingPolicy SuPolicy
Wednesday, October 20, 2010
ResourceWatch Online Capability Beta
No surprise we've been developing this capability.
If you go to our on-line beta, you'll be able to generate a really cool report on your conference room or resource use.
We've used it on ICS format files from Exchange 'natch, but Oracle Calendar seems to work just as well. We're using Microsoft SilverLight, so working with anything other than Internet Explorer we do not guarantee, but if it works for you just let us know.
Saturday, October 16, 2010
Microsoft Expands Effort to Protect Nonprofit Groups
Microsoft Expands Effort to Protect Nonprofit Groups - NYTimes.com
GO MICROSOFT!
Wednesday, October 06, 2010
BlackBerry Enterprise Server - Stay on Top of It!
How to Enable BlackBerry Enterprise Server 5.0 Sp1 and SP2 to use Microsoft Exchange Web Services is required reading.
Here's the issue: BES still relies on CDO 1.2.1, which is a little like a 2011 model year hybrid still needing a Model T crank. BES requires pretty much the same kinds of permissions we do in order to act on calendar objects in Exchange, so after migrating if you flip on BES and notice issues with setting up or responding to meeting invitations as a Delegate -- the first place to look is your BES configuration.
Sunday, September 19, 2010
Shared calendar items are shown incorrectly in Exchange 2007 (Fixed in SP3 RU1)
Unfortunately, the calendar events are often shown at the wrong time.
Microsoft KB 976100 offered a hotfix for this issue. It was also included in the Exchange 2007 SP3 Rollup 1 (KB 2279665)
For clients who share calendars -- apply this rollup.
Friday, September 17, 2010
Exchange 2010 Calendar Permissions Using PowerShell
Their earlier article on setting Outlook Delegate permissions with RBACs is also worth reading for sites migrating into 2010.
Many thanks!
Wednesday, September 15, 2010
Dilbert on the importance of Conference Rooms
We normally see this as the attempted "great conference room land rush" during migrations, which you can avoid by hiding your resources in the GAL for the migration period.
Tuesday, September 14, 2010
Circumvent Outlook Rules in Exchange 2010
Had they migrated to Exchange 2010, this would not have been necessary because Exchange 2010 allows you to manage rules using these six commandlets: Get-InboxRule, Set-InboxRule, Remove-InboxRule, Disable-InboxRule, Enable-InboxRule and New-InboxRule.
One approach is to use "Get-InboxRule" to find all enabled, server-side rules. Disable those rules (remember which rules you disabled so you can re-enable them after the migration.)
We came up with another approach: Add a new rule that has the "highest" priority, have that rule do nothing, then say "stop processing rules." After the migration, remove that rule.
Here's how we approached it for one user, say, Zyg:
• New-inboxrule -mailbox:zyg@mailbox.sumatra.com -name:"_sumatraHiPriorityRule" -Priority "0" -StopprocessingRules:$true -Confirm:$false
and then to remove:
• Remove-inboxrule -mailbox zyg@cod.sumatra.local -Identity:"_sumatraHiPriorityRule" -Confirm:$False
Caveats:
- Note the priority zero (0) makes this rule the highest-priority rule. All others drop down one.
- We are ignoring the power-rule-user scenario: the user exceeds Exchange's inbox rule memory size buffer limit (it's 32KB) (or about 40-50 rules.) Obviously when you're at the limit you can't add any more rules. We don't have a suggestion except to say "look" for disabled rules and ask the end user if a few could be removed.
- The "-force" parameter - removes disabled rules AND all Outlook client-side rules.
- new-InboxRules doesn't accept pipelined userlist from "get-mailbox -filter {isResource -eq $false}". What happens if you have 5,000 accounts? Stay tuned ---
Friday, September 10, 2010
Sumatra Utilities - Holidays for the remainder of 2010
So Exchange Admins in the USA can server-side insert Columbus Day, Thanksgiving, Christmas, and New Years, and Canadian users can do Thanksgiving and Remembrance Day, and UK users can do bank holidays from now until the end of the year and... OK OK you get the idea.
This version will only insert data up to January 2011. This version works with both Exchange 2007 and Exchange 2010, and will not work for hosted Exchange (i.e., Live @ Edu). Hosted sites working with us on migrations already have versions that will insert holidays.
To download the ZIP file just click here. If you want to read through the documentation first, please do.
Look for an update from us in October about what we'll do with server-side Exchange holidays in 2011.
If you are looking to private label or distribute and support the Utilities holiday insertion tool we'd be happy to discuss that.
Sunday, September 05, 2010
Exchange 2010 SP1 - ErrorRecord: Database is mandatory on UserMailbox error
We planned to upgrade our Exchange 2010 servers to SP1 this labor day weekend to take advantage of these calendar-related improvements:
- Outlook Web App Improvements
- Calendar Repair Assistant supports more scenarios than were available in Exchange 2010 RTM.
- Mailbox Assistants are now all throttle-based (changed from time-based in Exchange 2010 RTM).
- Internet calendar publishing allows users in your Exchange organization to share their Outlook calendars with a broad Internet audience.
- Importing and exporting .pst files now uses the Mailbox Replication service and doesn't require Outlook.
(fyi be prepared to install hotfixes before installing SP1!)
But what happens when it fails on the mailbox role with these two errors?
- ErrorRecord: Database is mandatory on UserMailbox. Property Name: Database
- Microsoft.Exchange.Data.DataValidationException: Database is mandatory on UserMailbox. Property Name: Database
It seems we had to upgrade active directory (i.e, run setup.com /ps, then /p, and then /pad)
But that threw an error "Setup previously failed while performing the action "BuildToBuildUpgrade"
There are two fixes to this problem. The FIRST Fix - edit the registry (seems like that's always part of a fix), and SECOND remove a few system mailboxes:
Edit the registry. Under the key HKLM\Software\Microsoft\ExchangeServer\v14\MailboxRole you will find two keys - Watermark and Action. Export the mailbox role settings, then delete the two keys. Now re-run setup.com /ps, then /p, and then /pad. )I tried running the setup GUI, but it didn't completely upgrade AD.)
The SECOND fix: Now we're back to the initial "Database is mandatory on UserMailbox" problem. Launch AD Users & Computers, and delete the discovery mailbox, system mailbox(es)
Finally, if you are deploying Exchange 2010 for the first time, Exchange 2010 SP1 is a full install package. Pat Richard's Exchange2010Prereqs.ps1 script simplifies installation.
>>Update After I brought the servers back online and started writing this post, I found Brian Day's post in Technet (...wish I had found it earlier!)
--Russ