When you have a lot of mailboxes to migrate, Microsoft’s provided method of viewing the errors involves a tedious amount of clicking by logging into the portal, selecting Exchange, Migration, View details, scroll down to find a failure, select the user, click view details.
Rather than use the tedious method of going into the details, selecting a user and then viewing details, run the following powershell script (once connected using the previous office365 connection script)
get-migrationuser -status failed | get-migrationuserstatistics | select identity,emailaddress,recipienttype, error,bytestransferred |export-csv c:\temp\migrationstatus.csv
I also have a simple loop that gets me the status once an hour. Obviously change the email address’s appropriately.
$a=(get-migrationuser | out-string)
send-mailmessage -to email@example.com -subject “Company Migration Stats” -from firstname.lastname@example.org -smtpserver my.mailserver.com -body $a
start-sleep -seconds 3600
One of the things we now do as part of an SBS2011 or SBS2008 migration is to add a report in the console purely for backup purposes. This gives us the ability to check the backups are running every day and can also be sent to the clients IT technical contact for reassurance. If you log on as the administrator and try to run a report to email, the server fails with “An error has occurred while sending this report. As a result, some of the recipients will not receive this report in email.”
The solution is simple. Log off from the administrator account and use the one that was setup for the migration – this seems to do the trick. The only thing left (for me) is to work out how to modify the report to send me the last 24 hours of backups – not just the last and the next backup job. We backup 3 times a day but only find out the status of the last job with the existing reports.
I always knew you had 21 days to finish a migration for an SBS installation, but I always thought the countdown was triggered when you ran dcpromo on the second server, breaking the original license agreement by having two SBS servers on the network that both want to have all the roles. (On a side note it is interesting that Microsoft provide a tool to get around Windows licensing but if you attempt to run other third party applications to do the same thing it gets flagged as a virus or you fall foul of Windows Genuine Advantage)…
Apparently, running the initial SBS pre migration assistant starts the 21 day timer even if you don’t continue with the rest of the installation. Attempting to install SBS after 21 days will provide an error message stating “Source Server does not meet minimum requirements for migration” as per the screenshot below.
If this screen appears, pressing Shift F10 will open a command prompt, at which point the sbssetup log file can be read with
notepad "C:\Program Files\Windows Small Business Server\Logs\SBSSetup.log"
Towards the end of the log file will be the reason the migration stopped. In this case it was to do with the HKLM\ Software\ Microsoft\ SmallBusinessServer\ Migration\ MigrationReady containing an old date and LastCheckTime (value of 1) being set to a long time ago.
I’m not sure whether hacking these values out would allow you to continue on with the install but I’m going to rerun the migration wizard again. Unfortunately this requires another (pointless) reboot of the source server – something I am trying to avoid when setting this up in a parallel installation.
My company would like to apologise for the weather (ie tons of snow) that Columbus, Ohio is currently experiencing. We believe it is entirely our fault as we have started our migration from Lotus Notes to Exchange 2010 – something I believe would only ever happen if Hell froze over. Therefore we are totally to blame for the weather. Thankfully there is no way we are going back to Notes, so it looks like this weather is here to stay.
A while back we had a client that was migrating out of their existing domain and into a new SBS2008 installation. One of the things I learnt (too late) was to disable folder redirection before doing a migration otherwise clients will still point to the old server. Unfortunately I did not have access to the old server/domain but I had got a copy of the redirected folders and thankfully there was no real data on the server to be migrated from the redirected folders.
However to fix the redirected folders I had to use csccmd to remove references to the old server which was easy enough using “csccmd /unpin2:\\oldserver\share /recurse”. I then changed the registry entries in HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ User Shell Folders to point to the new location. This worked fine for every machine except one. This particular machine had a very strange symptom in that when clicking on the Start/All Programs button the machine would pause for about 20 seconds and then nothing would happen (to the end user). Behind the scenes the Start Menu, Startup and Programs entries in the registry would get deleted. I tried to use ProcessMon from sysinternals to monitor the registry setting but I either got too much registry information to work out what was going on or nothing at all (depending on the filters I had applied).
Anyway, yesterday I stumbled across Ramesh’s site which mentioned running “regsvr32 /i shell32.dll”. I tried this, clicked on the All programs and nothing happened – again. I rebooted and the problem persisted. I then ran it again and was about to reboot the machine again when the user logged into the machine so I had to stop work (I was doing all this remotely using rdp). I logged into the machine this morning and checked the registry. Somehow the registry items were no longer blank but were repointing back to the original server. I reset them back to the new locations and now the All programs button works as designed. I think the trick was to run regsvr32 and then reboot before clicking on the All programs button. (Either that or reboot twice and then check the registry settings and correct them)
The Zero downtime migration strategies for Microsoft Networks book by Karl and Manuel Palachuk has arrived in the post this morning. An expensive book but I’m hoping this will reduce the number of weekends I have to work. Even if the book saves me 5-6 hours once, it will be well worth it.
590 pages to read, full of checklists and stuff – I’m looking forward to going through this. Unfortunately it came 5 days late for last weekends migration.
I’ll be writing a review later when I get a chance to start reading on it.
I was asked in the comments why I migrated from MovableType to WordPress. There were several reason why I decided to make the switch. The primary reason was the incredibly long time it would take to publish a post in MT. I could actually hit Post in MT, fire up a new web page, connect to my testing WP site, create a new post, enter the title, paste the content in, hit publish and then view the website. In the meantime MT would still be thinking about saving the original post.
The time taken to republish the site after a change such as a design change was so great that some of my older posts still had old styles as the republishing system would time out before it could complete the task.
One of the other things I really like about WordPress is the ease of upgrading the software to the latest version. Yes, WordPress has had more releases, but when it takes about 2 minutes to upgrade the system its really not a problem (especially now that there is an automatic upgrade function). MovableType has also just released a new security release which is one of the reasons why I made the switch *now*.
I was also hoping that the spam filtering would be better on WordPress than MovableType. I’ve had several idiots spamming the blog with russian comments in MovableType – they wouldn’t get through but I would have to go and delete them. In the one day that I’ve had WordPress up I think I’ve had more spam comments get through to the spam queue, but again it was easy to delete them all – a “select all” option and then delete, followed by an “all done” about 3 seconds later.
Themes in WordPress seem to be a lot cleaner and there are a lot more themes out there to pick from – MT’s selection was pretty small. This wasn’t that much of an issue to me as I was pretty pleased with my existing theme in MT (and have had it copied by a few people so it couldn’t have been that bad!)
The big concern about switching from MT to WP is typically due to the fact that WP is database driven and therefore doesn’t have any of the pages (by default) saved on the machine so if the database is down, then so is the website. This site doesn’t have that many visitors so I don’t see this as being that much of a problem and normally if the sql database is down, then its probably likely that the web server is going to be down too.
I’ve not looked at the various caching plugins as I doubt I’m going to need it, but it is nice to know this option is available. I may switch it on later once I’ve got the site up and running and I’m not making many design changes to it.
For those of you interested, I will also be posting my experience about the upgrade and some hints and tips – the existing WordPress migration documentation is in dire need of being updated!
I was hoping to get the switch from MovableType to WordPress up and running for the 1st of January but I didn’t want to go live until I was ready and near a keyboard in case there was problem. I’ve spent several hours this weekend getting the layout and stuff ok to go live. For those of you using feed readers to see this, you probably won’t see much difference although I have added a few options to the feedburner feeds and also include my delicious saves now. Do stop by the main website and let me know what you think though. Any issues then let me know, most of the work and testing was done with firefox as that is what most of you use. There are a few cosmetic issues with internet explorer that I’ll work on over the next week or so.
I’ll also be posting some hints and tips on the migration steps too.