Exchange Unwashed Digest – January 2014


January is often a time for reflection. In my “Exchange Unwashed” blog over the past month I reflected on topics such as the need to carefully count Client Access Licenses, the impending deadline for support for some well-known and still-used products and why Managed Availability exists. Lots more happened too…

Some well-loved Exchange products expire in 2014 – or at least, their support expires – time to upgrade! (Jan 2): Windows XP might get a lot of attention as it exits “extended support” on April 8, 2014, but Outlook 2003 and Exchange 2003 are still in use around the world and their new unsupported status will concentrate the minds of some over the next few months. Is the cloud the right path forward or will a migration to Exchange 2010 (and thereafter, maybe to Exchange 2013) commence? What will happen on the desktop? Lots to think about.

The need for Managed Availability (Jan 7): I like Managed Availability because I like advances that automate common operations. It’s just boring keeping an eye on servers to make sure that they don’t fall over and software is usually pretty good at monitoring systems. However, some don’t trust Managed Availability, possibly because it can be intrusive. But overall I think it is a very good thing. See if you agree.

Server heal thyself – Managed Availability and Exchange 2013 (Jan 9): The previous post laid out the rationale behind the introduction of Managed Availability in Exchange 2013. This one discusses some details of its implementation in the product.

Counting Client Access Licenses  (Jan 14): I hate paying too much for things like software licenses. They are expensive and yet you have to make sure that you have enough licenses to cover usage. It would be good if Microsoft provided good tools to count Exchange Client Access Licenses (CALs) accurately but they don’t.  So I tell you how Exchange MVP Oliver Moazzezi has solved the problem.

Service packs and cumulative updates make my head dizzy (Jan 16): Exchange 2013 SP1 is on its way sometime soon and it’s just another update that will be applied in the same manner as any other cumulative update (CU). Even if SP1 is a CU, it’s still a major event in the lifetime of Exchange 2013 because so many people believe that installing the RTM version of Microsoft software can lead to an outbreak of rabies or even worse. SP1 contains some interesting advances like the return of the Edge transport role so hopefully the release will be high quality. That’s the most important thing right now. Would you agree?

Why I needed to use Outlook Web App’s in offline mode instead of Outlook (Jan 21): Sometimes Outlook is a real pig in network terms. The client needs so much high-quality bandwidth to synchronize all the (lots of) data it downloads from Exchange and other places (like the social networking stuff). And sometimes you don’t have that kind of bandwidth available, like when on the road. And that’s when Outlook Web App’s new offline mode comes in very handy.

Discovering what PowerShell cmdlets are run by Exchange Administration Center (Jan 23): Exchange 2013 dumps the MMC-based administration console (for very good reasons) and uses browser-based management instead. Not too much to argue about there as long as all the prior functionality is preserved. However, EAC delivers a mixture of extra functionality here and there and cuts elsewhere. I didn’t like the dropping of the “PowerShell learning tools” that exist in EMC and found a workaround that is a real kludge but somewhat valuable. Using administrator auditing isn’t the greatest approach in the world but it works…

Managed Availability needs a human-friendly interface (Jan 28): Returning to Managed Availability, I reflect that the value of the new framework would be much enhanced if Managed Availability didn’t require administrators to go through a crash course of probes, responders, and monitors and the associated PowerShell processing required to make sense of what Managed Availability is doing – or has done. Lots of people have agreed with me. Do you?

Google Chrome and corporate Windows IT environments (Jan 30): Some reports that Google has been less than good in making sure that their Chrome browser supports important aspects of corporate IT environments that are Windows-based caused a raised eyebrow. Which can be a painful condition if the eyebrow doesn’t go down soon. It would be nice if the folks in Mountain View did the right thing to please those who choose Windows as their preferred IT platform. Wouldn’t it make sense to do so if they want to dislodge IE?

I think I can say that February shows promise in terms of news that will emerge over the next few weeks. Stay tuned by checking in on the twice-weekly posts to Exchange Unwashed on WindowsITPro.com or follow me on Twitter to get updates on articles and other developments.

Follow Tony @12Knocksinna

Posted in Exchange, Exchange 2010, Exchange 2013 | Tagged , , , , , , , , , , , , , , , | 1 Comment

Pondering the effective use of Twitter


I ignored Twitter for the first couple of years of its existence. I was at HP at the time and was aware of the research done by the Social Computing Laboratory (led by by a very smart fellow named Bernardo Huberman) within HP Labs to investigate the impact of micro-blogging on social interaction going back to 2008. Reading those papers now, you realize how far Twitter has come in the interim in terms of volume and impact. The research focused on questions like the difference between followers and friends in “Twitter under the microscope” (in other words, people who simply consume the output of someone versus those who use Twitter to interact with each other). Another research effort looked at what makes a tweet influential, critical information for companies who want to leverage Twitter for the purpose of marketing and sales.

All of the research is of terrific interest to people who want to plunge into the minutiae of the media. It probably doesn’t impact the way that the average human looks at Twitter or their desire (or not) to use Twitter.

After leaving HP in 2010, I started to play with Twitter as a way to communicate, mostly about progress for projects such as my Exchange 2010 Inside Out book, which I was working on at the time. The leadership at WindowsITPro.com were also keen to encourage greater interaction between authors and readers and asked writers to tweet about articles and other contributions. So I was dragged into the Tweet-o-sphere, or wherever tweets go.

Of course, I committed a major faux pas straightaway by not selecting a good Twitter handle. I use @12Knocksinna for a number of reasons far too boring to go into here. I should have picked something that reflected my actual name or interest. But @TonyRedmond was long gone. In fact, the account remains unused to this date for some bizarre reason (another fun fact is that there seems to be four Tony Redmond accounts on Twitter). Twitter has not yet made a decision when it will release inactive accounts, but I live in hope.

TRTweet

In any case, smarter people like Paul Cunningham and Jeff Guillet had taken the really whizzy handles like @ExchServerPro and @Expta (I still don’t know what the name means, but it sounds exciting). So I ended up with an obscure handle that meant something to me but nothing to anyone else.

After getting an account, the next hurdle I faced was to decide how or when to use Twitter. Email remains my primary written communication tool because I’m used to it and it has stood the test of time. No doubt I shall get used to Yammer in time or perhaps it will go the way of tools like Messenger, Lync, and Skype, all of which I use intermittently in specific circumstances.

It seems that people use Twitter in very different ways. I have no interest in relating news of my latest bodily function to all and sundry, nor do I care to communicate the details of what can be a boring life. I do not care to become a “me too” tweet-sender who dispatches snippets to their followers that have been sent many times before. The careless and prolific recycling of news clutters up feeds and adds no value. On the other hand, I have no issue with those who retweet something if they can add some insight to the information, which is hard to do given the constraints of the medium.

At a business level, I do want to let people know when I have published a new article or have some other (what I think is interesting) news to share. These criteria cover the vast bulk of the tweets I have sent. Occasionally I get pulled into some to-and-fro interaction with people who pick up on something I have tweeted or a response I have sent to one of their tweets, but it’s hard to have a really productive conversation in 140 characters or less.

It has been interesting to observe how others use Twitter. I don’t mean that I applied the same kind of research methodology that the folks in HP Labs use when they use the Twitter API to suck in vast numbers of tweets every 20 minutes over a period to create a huge data set that they can analyze until the proverbial cows come home. Instead, I wanted to understand the impact and effectiveness of the communication from members in what you might loosely call my “peer group.”

The process was kicked off when a Microsoft MVP (Microsoft Most Valuable Professional – essentially an expert in an area of Microsoft technology) lead sent out some data in October 2012 to list how many followers various Exchange MVPs had. I think the intention behind the email was to encourage the MVPs to tweet more, preferably about the many wonders of Microsoft software, especially Exchange. I ignored that but decided that the data gave me a nice starting point to analyze how people used Twitter so that I could understand its effectiveness in my own context. The data set has been added to since 2012 to include some folks who began tweeting in the interim and to include a benchmark to measure the group against (the redoubtable Scott Schnoll of Microsoft).

The data published here is a subset of what I track and is based on information taken from Twitter on January 28, 2014. I’ve invented two measurements. The first is tweets sent per follower, which might indicate how attractive is the information contained in someone’s tweets. Logically, it seems correct that tweets that contain attractive information will result in more followers for the tweeter. Conversely, tweets that are not useful or repeat what others have said are unlikely to gain followers.

The second measure is the number of followers per others followed. I was curious whether a decision to follow many people would result in a gain in followers and decided to see what the data said. In general, Twitter and other social networks exhibit high degrees of reciprocity, so if someone follows you, it is likely that you will follow them. This reciprocity is much more pronounced for those who have relatively few followers as they find it easier to recognize new followers and take them step to follow them back. On the other hand, people who gain multiple (more than five) new followers daily probably do not recognize the vast bulk of those who follow them and therefore do not reciprocate. Spam tweeters or false accounts also make for murky waters when it comes to recognizing new followers and deciding whether they are worthwhile following.

MVP Tweets Follows Followers TSPF F:F
Paul Cunningham 14729 499 6345 2.32 12.72
Paul Robichaux 11284 665 2042 5.53 3.07
Jeff Guillet 6805 353 1941 3.51 5.50
Steve Goodman 9023 1336 1782 5.06 1.33
J. Peter Bruzzese 1451 163 1779 0.82 10.91
Tony Redmond 1283 73 1705 0.75 23.36
Loryan Strant (O365) 5613 263 1378 4.07 5.24
Pat Richard (Lync) 8409 240 1378 6.10 5.74
Anderson Patricio 2794 36 1292 2.16 35.89
Elan Shudnow (Lync) 723 109 1265 0.57 11.61
Jaap Wesselius 1929 198 1223 1.58 6.18
Michel de  Rooij 6554 327 1087 6.03 3.32
Johan Veldhuis 3450 800 1059 3.26 1.32
Michael van Horenbeeck 5537 442 910 6.08 2.06
Mahmoud Magdy 8677 601 893 9.72 1.49
Nicolas Blank 1133 325 748 1.51 2.30
Peter Schmidt 1374 770 653 2.10 0.85
Michael B Smith 331 74 582 0.57 7.86
Glen Scales 155 67 544 0.28 8.12
Oliver Moazzezi 2208 513 390 5.66 0.76
Brian Reid 148 62 301 0.49 4.85
Jorge Patricio Diaz 6997 241 224 31.24 0.93
Andy David 436 73 118 3.69 1.62
Scott Schnoll (MSFT) 2106 173 1743 1.21 10.08
Averages 4,393 358 1,289 4.48 6.83

What can we conclude from this remarkably unscientific exercise? Here are some points to ponder:

  1. Paul Cunningham is a tweet animal with three times as many followers as the next MVP. He tweets extensively (on many topics), but the information contained in the tweets is reasonably good as he doesn’t have to tweet a lot to gain new followers. This is in line with the HP research, which found that “the total number of posts increases with both the number of followers” (up to a point where saturation occurs). I guess that point has not been reached yet. His F:F ratio of 12.72 indicates that although he follows many others (499), it doesn’t necessarily mean that he gets followed back. The highest ratio of followers to follows is 35.89 for Anderson Patricio. He doesn’t follow many people and I guess he gains followers through the many articles he writes for msexchange.org.
  2. Against that, Steve Goodman has an F:F ratio of 1.33 as he follows 1,336 and has 1,782 followers. Steve also writes for msexchange.org and searchexchange.com, but maybe his warm personality makes him follow others to make them feel good. Or he likes a cluttered feed. Or he has many interests, which would account for the need to follow more. For example, Paul Robichaux has well-documented varied interests outside Exchange (like flying, for instance), so it’s understandable that he follows 665 others.
  3. The data for Paul Cunningham also shows that the more followers you have, the greater the growth. He has gained 828 followers since the last measurement, roughly 13 weeks ago. The next best gain in the set is 230. Finally, you can’t underestimate the value of being visible in a good web site in gaining followers, a factor shared by many active tweeters here.
  4. Although Paul has gained the most followers in the period, Michael Van Horenbeeck has achieved the greatest percentage gain (24.66%). This is likely due to his involvement in the UC Architects webcast, a factor shared by others in the set who have achieved similar gains (Pat Richard 20.03%, Steve Goodman 8.99%, and Johan Veldhuis 13.75%). So productive and useful activity attracts followers, if they learn about the activity through tweets.
  5. I send fewer tweets to gain followers than anyone else in the top 10 (0.75) followed by J. Peter Bruzzese (0.82). Of course I’ll claim that this indicates an extraordinarily high quality of content in the tweets. Neither of us actually send many tweets (1,283 and 1,451) compared to the likes of Steve Goodman (9,023) and Paul Robichaux (11,284), both of whom have to send over 5 tweets to acquire a new follower according to my highly arbitrary measure. Providing that often a story lies behind the statistics, Jorge Patricio Diaz has had to send 31.24 tweets to gain each of his 224 followers. I think this can be explained by his lack of a blog as posts are a great way to accumulate followers. And in fact, a blog – even one that is relatively inactive – can generate followers, as proven by Michael B. Smith’s growth of 50 followers in a period when his blog was out of action.

Lies, damned lies, and statistics certainly comes to mind as I ponder on this data. I think that the biggest lesson is that the higher the quality of contribution in your tweets, the higher the quality of your Twitter experience as a whole.

Feel free to follow any of the MVPs listed above. I’m sure they wouldn’t mind you affecting their statistics and rubbishing all my theories!

Follow Tony @12Knocksinna

Posted in Technology | Tagged , | 1 Comment

Mailbox quarantining in Exchange 2010 and Exchange 2013


This is another article that was never published by WindowsITPro.com (possibly because I contribute so many posts to my “Exchange Unwashed” blog on the site), so I make it available here with the caveat that this text has not been tech-edited or checked over in the same way that an article would be. Enjoy!

Follow Tony @12Knocksinna

Automatic mailbox quarantine

Software developers always want to do the best thing for their product. The Exchange developers follow this truism and usually do a fine job of creating new functionality that’s easy to understand and useful in practice. The bad old days when features were implemented only when an administrator applied an undocumented and known-to-just-a-select-few registry hack are thankfully long gone. And then you meet automatic quarantining of mailboxes as implemented in Exchange 2010 SP1 onward, including Exchange 2013.[

The idea behind automatic quarantining of mailboxes is excellent. Essentially, it’s designed to detect clients that are taking up too much of the Store’s attention because something is going wrong. MAPI clients like Outlook use multiple threads within the Store process when they connect to mailboxes. If one or more of these threads “freeze” for some reason, they can cause the Store to consume more CPU than it should in an attempt to service the thread. The problem might be caused by corrupt mailbox data or a software bug in either the client or Store process or some other reason such as network failure. In any case, it’s a bad thing if threads freeze or terminate abnormally.

Automatic processing of problematic mailboxes

Software being software, a thread can go bad from time to time and the Store isn’t too concerned if a solitary thread wanders away into nothingness occasionally. However, if more than five threads connected to a mailbox freeze for more than 60 seconds or three threads crash within a two hour period, then the Store considers the mailbox to be in an abnormal state.

Quarantining is performed by a background thread that runs every two hours within the Store to check the number of crashes experienced by mailboxes. If a mailbox exceeds the crash threshold it is deemed to be a threat to the overall stability of the Store and is therefore put into quarantine. A 10018 event is logged to record this action. Of course, administrators are constantly monitoring their servers in case such an event should arise and will immediately swing into action to resolve the underlying problem that caused the Store to take such drastic action.

You can modify the quarantine thresholds on a per-server basis by creating the following values in the system registry (if the values aren’t present, Exchange uses the default thresholds):

Key:

HKLM\SYSTEM\CCS\Services\MSexchangeIS\ParameterSystem\Servername\Private-dbguid\Quarantined Mailboxes

Values:

  • MailboxQuarantineCrashThreshold: The number of thread crashes that can be experienced by a mailbox before the store considers it a candidate to be quarantined.
  • MailboxQuarantineDurationInseconds: The number of seconds a mailbox remains in quarantine before it is released. The default is 21,600 seconds, or six hours.

Note that the Store may create a separate registry key for every mailbox database on a server. The entries corresponding to a specific database are identified with the GUID for the database inserted in the “Private-dbguid” element of the registry key.

When a mailbox is quarantined, the Store writes an entry into the system registry at:

HKLM\SYSTEM\CCS\Services\MSexchangeIS\Servername\Private-dbguid\Quarantined Mailboxes\ {Mailbox GUID}

Again, a separate registry key is maintained for each database on the server, so you’ll find a list of quarantined mailboxes for each database, assuming that at least one mailbox has experienced problems in a database to force the Store to create the registry key. If a mailbox has never crashed on a server, you won’t find any entries in the registry. On the other hand, if a database is having a lot of problems, you might find many mailboxes in its “crash list”.

The last part of a mailbox’s registry key is the GUID that uniquely identifies the mailbox. Thus, if several mailboxes are quarantined, you’ll find a set of GUIDs listed. The Store checks the registry when it mounts a database to discover whether any mailboxes are quarantined. Two values that are used by the background thread to decide whether to quarantine a mailbox are stored under the entry for each mailbox:

  • CrashCount: the number of times that this mailbox has crashed a thread within the Store
  • LastCrashTime: the last time that a mailbox thread crashed within the Store

The processing performed by the background thread is as follows:

  • If a mailbox in a database’s “crash list” has a CrashCount value less than the MailboxQuarantineThreshold (default 3) in the last two hours, the background process considers the mailbox to no longer be a threat and removes its registry entry from the list for the database.
  • If a mailbox in a database’s “crash list” has a CrashCount greater than MailboxQuarantineThreshold and the mailbox is not already quarantined, the background thread immediately puts the mailbox into quarantine and logs the 10018 event.
  • If a mailbox’s quarantine period has expired, the background thread releases it from quarantine and logs event 10019 to report the mailbox’s release. Otherwise the mailbox remains quarantined until the next check.

Practical problems with the implementation

All of this sounds wonderful in theory and it does indeed work. However, from a practical perspective, the problem is that Exchange puts mailboxes into quarantine in almost silent mode. By this I mean that the first indication that something’s up is when the user notices that they can’t connect to their mailbox (Figure 1) and so complain bitterly to the help desk, which then creates a ticket to let the administrator know that something’s up. At this point the 10018 event might be discovered because it contains something like this:

The mailbox for user /o=TonyR/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=TRedmond has been quarantined. Access to this mailbox will be restricted to administrative logons for the next 6 hours

OutlookProblem

 

 

Figure 1: Outlook hits a quarantined mailbox

In a nutshell, the user is not getting into this mailbox until at least six hours has elapsed since the mailbox was quarantined. No incoming mail will be delivered to the mailbox while it is in quarantine.

An administrator can access a quarantined mailbox by logging into it with MFCMAPI. Once connected, they might be able to find some problem in the mailbox, provided that they knew where to look or what to look for, which isn’t usually the case. No indication is given in the event log as to the location in the mailbox (folder and/or particular item) that’s caused a problem.

No user interface to help

Exchange 2010 provides no user interface for administrators to find out whether any mailboxes are quarantined (I don’t regard the registry editor to be a user interface in this instance). Assuming that you probably can’t resolve the GUIDs contained in the system registry to determine the actual mailbox names (human brains seldom have the code necessary to do this translation), you could run the following command in the Exchange Management Shell (EMS):

Get-Mailbox | Get-MailboxStatistics | Where {$_.IsQuarantined –eq $True}

After we fetch some mailboxes (you’ll probably use a filter with Get-Mailbox), the next part of this command uses the Get-MailboxStatistics cmdlet to interrogate all of the databases on a server to fetch interesting information about the mailboxes contained in the databases. The second part filters the output to return a list of quarantined mailboxes.

Knowing that some mailboxes are quarantined is one thing. Knowing why they ended up there or how to get the mailboxes out of quarantine is quite another. There are a myriad of reasons why store threads might crash. For instance, some reports indicate that transient disk errors on virtualized mailbox servers can generate crashes that cause mailboxes to be quarantined. The solution here was to move the guest server to another host node.

Other reasons exist that might cause quarantining to occur. For example, the Exchange team blog reported that a change made to Service Pack 2 of the Exchange Management Pack for Microsoft System Center Operations Manager (SCOM) caused mailboxes to be quarantined because a high rate of transaction log generation was experienced on the drive holding the database that hosts the mailboxes. A bug in an Information Store Performance Monitor counter caused invalid data to be provided to the “Information Store TroubleShooter” script (Troubleshoot-DatabaseSpace.ps1,) that’s installed on mailbox servers from Exchange 2010 SP1 onward. SCOM uses the script to monitor available free space on drives that host mailbox databases and if the data indicates that a drive will exhaust available disk space in the next twelve hours (the default threshold) and the available disk space is less than 25% of a drive’s capacity, the settings used by SCOM force the script will quarantine the mailboxes that generate the heaviest use to bring the log generation rate down and allow an administrator to step in and free space on the disk. This all sounds perfectly logical until Performance Monitor passed back invalid data to cause SCOM to request mailboxes to be quarantined when they did not need to be.

I have no reports of similar problems being encountered with Exchange 2013.

It might be possible for an administrator to associate an external event (network outage, disk crash, power failure) with problems for some mailboxes by collating data relating to those events with reports of mailbox quarantining. On the other hand, as was the case with the SCOM Exchange Management Pack, a bug might cause quarantining to happen out of the blue with literally no apparent reason for mailboxes to be isolated.

Release from quarantine

Releasing quarantined mailboxes is another challenge. You can, of course, wait for the quarantine interval to elapse (perhaps after reducing the default interval by updating the registry). Or you could practice brain surgery and delete the registry entries that identity the problematic mailboxes.  After removing the registry entries, you’ll need to dismount and remount the database to force the mailbox out of quarantine. Although dismounting and remounting a database usually takes less than a minute, this action will affect other users who are connected to the database so it’s not something to rush into.

Another point to consider is that there’s a reason why the Store quarantined a mailbox in the first place. If you leap into action and update the registry to release the mailbox, you run the risk that some lurking corruption still exists that might cause the mailbox to be re-quarantined very soon or, even worse, that the mailbox might affect the Store and perhaps cause a server to become unstable. On the other hand, anecdotal evidence from some deployments indicates that some thread crashes don’t recur and mailboxes function perfectly happily after they come out of quarantine.

If you think that a mailbox has some problems, moving it to another database is a good way to have the Mailbox Replication Service (MRS) validate the mailbox content and remove any corruptions. Essentially, when MRS moves a mailbox, it rebuilds the mailbox in the target database. When you create the mailbox move request, you should specify a reasonable bad item limit (in the 10-20 range) to allow MRS to drop any corrupted items that it comes across when it moves the mailbox. You can later review the mailbox move report to determine how many bad items MRS dropped and whether these items contained any important information.

Summary

It’s great that the Exchange developers built automatic mailbox quarantining into the Exchange Information Store. In concept, the feature protects the Store against the effect of data corruption and software bugs. It’s just a pity that the implementation smacks of the bad old days of registry hacks. Some user interface to control quarantined mailboxes and to understand the reason why mailboxes are put into this state would be appreciated.

Posted in Email, Exchange, Exchange 2010, Exchange 2013 | Tagged , , , , | 10 Comments

Email’s about to die? I think not


Ho hum: the recent Wired.com article “The Next Big Thing You Missed: Email’s About to Die, Argues Facebook Co-Founder” seemed to be one big advertisement for Asana, a startup based in San Francisco. Asana, led by Facebook co-founder Dustin Moskovitz, wants to provide us with a replacement for regular email, one that is more project focused and based on a “work graph” rather than the “social graph” that apparently we use in email. According to the article, a work graph concentrates on the work that needs to be done within a company rather than the social graph, which focuses on human beings (the users).

Much as I respect the inventiveness of designs and explanations drawn on the proverbial scrap of paper, I wonder if this is yet another case of a startup that has created some nice software and is now looking for a problem to solve. That problem being the 28% of the average workweek that corporate workers spend reading and answering their email (according to a McKinsey report). Hmmm… I wonder if the workers would have been doing anything more productive, perhaps checking their Facebook account, if they didn’t spend so much time on email. Or maybe that time spent in email is actually productive work.

“Embediness” (my word) is a problem often faced a new paradigm when it appears on the scene and seeks to knock an incumbent technology off its perch. In other words, companies and their employees have invested so deeply in a technology like email that it requires a massive upheaval to detach from the existing technology and move to the new. Such an upheaval requires executive sponsorship and leadership and then a huge amount of organization, project management, and energy if it is to have any chance of success. A so-so decision that “we’ll try out the new stuff and see how it goes” is doomed to failure, even if some clear business benefits can be seen in using a new technology.

The problem is even more intense when the in-place technology has proved to be enduring over multiple generations of both products and workers. Email has morphed and evolved from its earliest days of “green screen text-based messaging” where it started to ride multiple technology cycles from mainframe to mini-computer to PC-LAN to client-server and now cloud. It has accumulated a huge amount of new features and functionality along the way and has become a part of the way business lives are managed. Most of the current workforce has no concept of how they might perform their job without email. And given the number who subscribe to free email services like Gmail, Outlook.com, and Yahoo! Mail, a fair number of people might find it hard to run their home life without email either, even with Facebook, Twitter, and multiple other applications to help.

I doubt that Asana and Dustin Moskovitz will succeed in convincing large multinational companies to embrace a new model to replace email. The customers listed on Asana’s site seem to be small companies, many of which work in the same Internet space, and no evidence is presented that any of these customers have dropped email. It’s true that customers like Dropbox say that they have found Asana to be helpful in managing projects and getting work done. This is goodness, but it makes Asana sound more like social-based project management software rather than something which might replace email.

Over the years, many attempts have been made to introduce technology that takes over part or all of what email does. In my corporate days, I was responsible for projects based on technology that didn’t go anywhere (like the original Groove Networks product before it was sold to Microsoft) and some that did (the original SharePoint Portal Server); none took over from email and none really changed user behavior in any significant way. Some users liked the new technology very much and took to it immediately; others hated it and refused to use the new software. As mentioned above, strong executive commitment and a huge amount of energy made a difference but email usage never declined.

I see the same problem looming for Yammer. No doubt Microsoft will do their level best to emphasize the usefulness and wisdom of adopting internal social networks and directing some (or many) of the conversations that now take place in email to Yammer. But I wonder whether users (rather than the technologists who love working with new stuff) will take to the change in work habit that is implied. We shall see in time. It’ll certainly be a topic that I hope to learn more about over the next year.

Follow Tony @12Knocksinna

Posted in Email | Tagged , , , , , | 4 Comments

Managing Exchange ActiveSync device partnerships (in a world where we all use too many devices)


This is the text of an article that I wrote for Windows IT Pro magazine that was never published. It might be of some interest and use to folks grappling with ActiveSync partnerships, so I decided to publish it here. Enjoy!

Update: See this post for information about how Microsoft has automated some aspects of partnership management in Exchange 2013, Exchange 2016, and Exchange Online (Office 365)

Managing Exchange ActiveSync device partnerships

An interesting aspect of the Bring-Your-Own-Device (BYOD) device phenomena allied to the growing role of Exchange ActiveSync (EAS) as the de facto protocol for mobile device connectivity is that some organizations running Exchange 2010 SP1 or later releases have experienced situations where users have exceeded the number of permitted ActiveSync partnerships for their mailbox. When this happens, Exchange sends a message to the user the next time that they attempt to add a new device to their mailbox:

Subject: Error with your new mobile phone partnership
Importance: High

 You have 10 phone partnerships out of the maximum allowed 10 partnerships. After you reach the maximum, you can’t create additional partnerships until you delete existing ones from your account. To do so, sign in to Outlook Web App, click Options > Phone > Mobile Phones, and delete any unused partnerships.

In this article I explain how Exchange 2010 manages ActiveSync device partnerships and how you can increase the number of partnerships allowed for a mailbox, plus how to locate old partnerships that might belong to devices that are no longer in use and then how to script a procedure that you could run on a regular basis to remove obsolete partnerships. Unless otherwise indicated, the code listed here should work well with Exchange 2010, Exchange 2013, or Exchange Online (Office 365). The explanation of how Exchange throttles ActiveSync connections is specific to Exchange 2010 SP1 and later releases.

Storing ActiveSync partnerships

Figure1-BYOD

Figure 1: Listing ActiveSync partnerships from Outlook Web App (Exchange 2010)

Exchange 2010 and Exchange 2013 store details of ActiveSync device partnerships (the connection between a mobile device and a mailbox) as properties of the Active Directory account that owns the mailbox. Although there’s no technical reason that limits Active Directory to storing more than 10 partnerships, someone in the Exchange development group took the view that ten seemed a good number, certainly sufficient to meet the needs of all but the most hyper-connected user. The restriction on ActiveSync partnerships through throttling policies was first introduced in Exchange 2010 SP1 and also applies to Exchange Online tenant organizations in Office 365. The limit proved appropriate until recently when BYOD challenged the assumption that users would be happy with ten devices.

I don’t consider myself to be anything more than averagely connected, so I decided to follow the advice in the message and use Outlook Web App (OWA) to check what partnerships are registered for my mailbox. As shown in Figure 1, OWA duly reported that four partnerships were in place.

I only use one of these partnerships on a regular basis. Fortunately, much of the mystery behind a partnership can be dispelled by clicking on the Details icon, which reveals the information about the selected partnership shown in Figure 2. In this case the partnership links my Windows Phone (Nokia Lumia 800 at the time the article was written) with Exchange. We can see the version of the phone O/S (7.8) and various other information, including (if you scroll to the bottom), the version of ActiveSync used by the connection and the number of folders that Exchange synchronizes with the device.

Figure2-BYOD

Figure 2: Viewing partnership properties

Four partnerships seemed like three too many.  The most obvious of the other partnerships was for an old iPhone 3GS that I used before I bought my Nokia. The others were surprising: “TestActiveSyncConnectivity” was created by the Exchange Remote Connectivity Analyzer to test ActiveSync connectivity while “WindowsMail” was created by the Windows 8 Mail application to synchronize with my Exchange Online mailbox.

Even though Outlook 2013 uses ActiveSync to connect to Hotmail (or Outlook.com) instead of the older Hotmail connector, you won’t find this connection listed as an ActiveSync partnership. It is, after all, not used to connect to an Exchange mailbox.

Given that I have two surprising partnerships, it’s easy to see how someone who has been using Exchange 2010 for a while and likes to experiment with the many varied mobile devices that you can connect to Exchange with ActiveSync (iPhone, iPad, Windows Phone, and lots of different Android devices) might exceed the limit. To get an overview from an organization perspective, you could use MVP Brian Desmond’s script to create a CSV file containing details of the partnerships known for all mailboxes (Figure 3).

Figure3-BYOD

Figure 3: Viewing a CSV file containing device partnership data

Manipulating a CSV file with Excel is an effective way to understand what kind of mobile devices are connecting to Exchange, including some that might surprise because you didn’t expect to find them listed. Larger organizations might prefer to load the data into a more robust query and reporting tool such as Access or even SQL.

Increasing the limit for ActiveSync partnerships

The limit is controlled by the EASMaxDevices property in the throttling policy applied to the mailbox. Throttling policies serve to restrict the amount of system resources that an individual mailbox can consume and were first introduced in Exchange 2010 SP1. Unless assigned a specific throttling policy, every mailbox comes under the control of the default throttling policy, which sets EASMaxDevices to 10. You can therefore increase the limit by either updating the default throttling policy to allow the desired number of partnerships or by creating a new throttling policy and then applying that policy to the mailboxes of the hyperconnected users.

For example, if your organization only has a default throttling policy, the following Exchange Management Shell (EMS) command will increase the limit to allow twenty partnerships:

Get-ThrottlingPolicy | Set-ThrottlingPolicy –EASMaxDevices 20

It’s possible that your users might want to use all of their ActiveSync devices at one time. If so, you should also updated the EASMaxConcurrency property to the same value as EASMaxDevices.

The *-ThrottlingPolicy cmdlets are only available to on-premises administrators.  The reason being that Microsoft doesn’t want its cloud tenant administrators messing around with commands that have the potential to affect other tenants.

The alternative is to create a new throttling policy. The following commands create a new policy that contains the desired settings (the other settings for the policy will be inherited from the default throttling policy) and then applies the new policy to a specific mailbox:

New-ThrottlingPolicy –Name “HyperConnected ActiveSync” –EASMaxDevices 20 –EASMaxConcurrency 20

Set-Mailbox –Identity “Tony” –ThrottlingPolicy “HyperConnected ActiveSync”

Immediately the Set-Mailbox cmdlet runs successfully, the user will be able to create additional partnerships.

Locating old partnerships

It’s the nature of mobile devices that some are quickly discarded as new and more attractive devices become available on the market. However, these devices leave a lingering indication of their presence as an ActiveSync partnership that will eventually have to be removed to keep a user under their permitted limit.

OWA allows users to remove partnerships using the delete (X) option shown in Figure 1. However, the problem with relying on this strategy is that users are unlikely to know about the option (how many users know about ActiveSync partnerships) and so they’ll never navigate through the OWA options to the right place. Even if they find the option to list partnerships, even fewer will be brave enough to delete a partnership on the basis that they won’t know if this action will affect their other mobile devices. All in all, cleaning up the debris of obsolete partnerships is likely to remain a task for Exchange administrators.

Neither the Exchange Management Console (EMC) nor the Exchange Control Panel (ECP) contain options to allow an administrator to manage device partnerships across the organization. EMC ignores ActiveSync completely, possibly on the basis that Microsoft knew that they were going to replace this console with the new Exchange Administration Center (EAC) in Exchange 2013. ECP knows about partnerships, but only if you take the option to “Manage another user” to be able to access the partnerships for a selected user. The options presented by ECP under “Manage your organization” are restricted to ActiveSync device access settings. There’s nothing for it but to resort to PowerShell.

Two cmdlets are of interest. The first is Get-ActiveSyncDevice (or, if you want to be fashionable and use Exchange 2013, the Get-MobileDevice cmdlet, as it will eventually replace Get-ActiveSyncDevice), which returns information about devices known through partnerships with a mailbox. For example, the following command returns information about all the device partnerships associated with my mailbox:

Get-ActiveSyncDevice –Mailbox “Tony”

The information shown is essentially that displayed in Figure 2. As with many PowerShell cmdlets, the output can be a tad verbose. A better command that limits the information to the essential information is:

Get-ActiveSyncDevice –Mailbox “Tony” |Format-List DeviceId, DeviceType, DeviceModel, DeviceOS, FriendlyName, Name

The following information is displayed for each device:

DeviceId     : 1140B5A5508D422741F2E87CE114E115
DeviceType   : WP
DeviceModel  : NOKIA
DeviceOS     : Windows Phone7.10.8773
FriendlyName : Tony's Nokia
Name         : WP§1140B5A5508D422741F2E87CE114E115

The DeviceId property is important if you need to focus in on a specific device from a list. For example, to delete the partnership for the device shown above, I can use the command:

Get-ActiveSyncDevice | where {$_.DeviceId -eq “1140B5A5508D422741F2E87CE114E115”} | Remove-ActiveSyncDevice

It’s possible that you’ll find two entries in the list for the same device. From experience, this seems to happen when a device goes through a factory reset and is then used to create a new ActiveSync partnership. The clue as to which partnership is active and which belongs to the device prior to its reset is the date that the last synchronization occurred, which brings us to the reason why a second cmdlet is required.

Although it’s a useful command to get started with, Get-ActiveSyncDevice doesn’t tell us what partnerships might be obsolete because it doesn’t report information about the synchronization state of a device. It’s reasonable to assume that a device is active and in use if it is synchronizing regularly with Exchange. On the other hand, if a device has not synchronized in the last 90 or 120 days, there’s a fair chance that it has been tossed into a desk drawer or found some other dark corner to hide.

The Get-ActiveSyncDeviceStatistics cmdlet comes to our aid. This cmdlet reports information about device activity. Thus, a command like this will provide us with a good overview of the device activity for a specific mailbox:

Get-ActiveSyncDeviceStatistics –Mailbox “JSmith” | Format-Table DeviceID, DeviceType, FirstSyncTime, LastSuccessSync

DeviceID         DeviceType FirstSyncTime       LastSuccessSync
--------         ---------- -------------       ---------------
ApplV50396X7Z38  iPad       06-08-2012 10:48:23 11-08-2012 22:54:42
Appl820101JN3NP  iPhone     06-08-2012 10:48:23 03-05-2012 15:28:56
Appl87945F3Q3NQ  iPhone     06-08-2012 10:48:23 16-02-2012 23:36:07
ApplDNQHHGDLDTD2 iPhone     06-08-2012 10:48:23 17-08-2012 07:32:51

This article was written on August 17, 2012 (shown as 17-08-2012 on my system), so we can see that two of the devices have been synchronized reasonably recently (the first and last in the list) whilst two others haven’t been synchronized since May 3 and February 16 respectively. These two partnerships are therefore candidates to be removed on the basis that they are defunct. Of course, there might be a good reason why the user hasn’t synchronized a device for a long time. For instance, they might keep a device as a backup in case their primary device fails. For this reason, it’s a good idea to check with users before expunging anything.

Get-ActiveSyncDeviceStatistics can also provide an interesting insight into the mobile devices that are in use within the organization. For example, this code forms a collection of user mailboxes, then uses that collection to scan for all the mobile devices that have partnerships with the mailboxes before finally producing a count for each device type. As you can see from the results, Apple is clearly winning the battle for mobile devices in this organization.

$Mbx = Get-Mailbox –RecipientTypeDetails UserMailbox –ResultSize Unlimited

$Mobile = $Mbx | %{Get-ActiveSyncDeviceStatistics –Mailbox $_.Identity}

$Mobile | Group-Object –Property DeviceType –NoElement

Count Name
----- ----
1 WindowsMail
17 WP
21 iPad
113 iPhone

If you substitute “DeviceUserAgent” for “DeviceType” in the last line of code, you’ll get a count of the different versions of operating systems in use. This can be an interesting way to discover whether some obsolete or unusual mobile devices are connected.

Scripting to expunge old devices

Now that we understand the capabilities of the two cmdlets that report information about ActiveSync devices, we can put everything together to create a procedure that can be run on a periodic basis to expunge obsolete device partnership. On the basis that there’s usually some previous work that can be found on the Internet to provide a good start, you use the script provided by MVP Mike Crowley and adapt it to meet your needs. The script features all of the cmdlets that we’ve explored and is as follows:

$DevicesToRemove = Get-ActiveSyncDevice -Result Unlimited | Get-ActiveSyncDeviceStatistics | Where {$_.LastSuccessSync -le (Get-Date).AddDays(“-30”)}

$DevicesToRemove | Remove-ActiveSyncDevice

Going through the code we find:

  • A variable is used to collect the set of device partnerships is created ($DevicesToRemove).
  • The variable is populated as a result of running the Get-ActiveSyncDevice and Get-ActiveSyncDeviceStatistics cmdlets
  • The call to Get-ActiveSyncDevice collects all device partnerships in the organization (-Result Unlimited). In large organizations you might restrict this to look for specific devices (for example, process all iPhones in one run, all iPads in another, Android devices in a third).
  • The output from Get-ActiveSyncDevice is piped to Get-ActiveSyncDeviceStatistics, which will process each device in turn and check to see if the last successful synchronization date (LastSuccessSync) is more than 30 days ago. You could increase this interval to be whatever you need.
  • Any devices that meet the criteria are added to the variable, which is then piped as input to the Remove-ActiveSyncDevice cmdlet to remove the device partnerships.

If this script doesn’t meet your needs, there are others available on the Internet. For example, here’s some code that takes a slightly different approach by beginning with a call to the Get-CASMailbox cmdlet and filtering the results so that only mailboxes with an ActiveSync device partnership are processed.

Get-CASMailbox -ResultSize unlimited -Filter{(HasActiveSyncDevicePartnership -eq $true) -AND (name -notlike “cas_*”) -AND (name -notlike “DiscoverysearchMailbox*”)} | ForEach {Get-ActiveSyncDeviceStatistics -Mailbox $_.Identity | Where-Object {$_.LastSuccessSync -le ((Get-Date).AddDays(“-7”))} | Remove-ActiveSyncDevice} 

As with all scripts, it’s wise to test this code on a non-production server to make sure that it does what you need.

Summary

Exchange ActiveSync has come a long way since it was first released in Exchange 2003 SP2 in 2005. Microsoft’s success in licensing ActiveSync to companies such as Apple and Google has greatly assisted the spread and widespread adoption of the protocol. As we head further into the BYOD era, the need exists to manage ActiveSync more thoroughly than before. Making sure that device partnerships remain current is part of that work. It’s easy to do, once you know what’s happening and have a little PowerShell code to hand.

Follow Tony @12Knocksinna

Posted in Exchange, Exchange 2010, Office 365, Outlook 2013 | Tagged , , , , , , , , , , , | 40 Comments

Upgrading the database schema within an Exchange 2013 DAG


In my conversation about life, the universe, and Exchange development (well, mostly the latter) with Microsoft’s VP for Exchange development, Perry Clarke, he said “There isn’t a part of the core Exchange Server that is not shipped to our on-premises customers. We don’t have a special Exchange that runs in the cloud.” The meaning here is twofold: that Office 365 and the on-premises Exchange share a common code base and that (by inference), innovation in software engineering for “the service” flows through to on-premises customers through the servicing model now used by Exchange 2013.

In effect, this means that the cumulative updates for Exchange released by Microsoft to on-premises customers every quarter contain fixes and new features that have been tested by running at scale in Office 365.  Perry said that this should “comfort our on-premises customers that the code that they run is validated by running against millions of mailboxes before they have to deploy it.”

The theory sounds good but the question is how do on-premises customers recognize when innovation has occurred? It’s easier to know about new features when Microsoft ships a brand new release or a service pack because Microsoft markets the new software on the basis of the whizz-bang new features. For example, Exchange 2013 contains features such as Data Loss Prevention (DLP), Managed Availability, and database auto-reseed. The last two of these flow from Microsoft’s need to run their datacenter operations more efficiently (i.e. with as little human intervention as possible) and can be considered innovation, even if that innovation sometimes hiccups before on-premises customers can master it fully.

It’s harder to detect where innovation occurs in “regular” cumulative updates. I say “regular” because Exchange 2013 SP1 will be cumulative update number 4 as the same ship and update mechanism will be used as for updates 1, 2, and 3. SP1 will contain more features than the other updates, but it is really just a larger update than the norm.

But lurking in Exchange 2013 CU3 is a cmdlet called Update-DatabaseSchema that is used to update the schema used by mailbox databases. In the past (Exchange 2010 SP1 is a great example), updating internal database structures such as the global tables has created some challenges. For instance, an Exchange 2010 SP1 DAG member server could activate a database copy created on an Exchange 2010 RTM server, but the reverse was impossible because the RTM server had no notion of the changes made in the SP1 schema.

Engineers often need to tweak internal structures to increase efficiency. But given the number of mailbox servers that are deployed in DAGs to achieve high availability, including tens of thousands of Exchange Online servers running inside Office 365, it is inconceivable that the situation that arose in Exchange 2010 SP1 would be allowed to compromise high availability every time a schema update is necessary.

The Exchange developers therefore came up with a mechanism that allows the setup process to request database schema upgrades during server updates. For instance, when mailbox servers are updated from Exchange 2013 CU2 to CU3, you don’t realize it but setup runs Update-DatabaseSchema to request that databases on the server should be upgraded from the RTM version (0.121) to the CU3 version (0.126).

When the update is done on a standalone server, the schema is upgraded immediately. Servers that are installed from scratch using the CU3 code use the upgraded schema. However, an immediate upgrade cannot be allowed to happen within a DAG, so the update is treated as a request that should be actioned in the future when all of the DAG member servers are ready. In other words, when all the DAG member servers have been upgraded to a version of Exchange that supports the new database schema. When the last DAG member is upgraded with the new version of Exchange, the request made by Update-DatabaseSchema can be executed and all of the database copies within the DAG will be upgraded the next time that each database is mounted.

Updating the schema of a database affects the global tables or the data shared across all mailboxes in the database. The schema for the tables that make up individual mailboxes are also adjusted following a database upgrade. This happens the next time that a logon occurs to a mailbox.

You can use the Get-MailboxDatabaseCopyStatus cmdlet to discover what version of the schema is currently in use. For example, to find out the database schema versions for all copies of the DB2 database, we run the command:

PS> Get-MailboxDatabaseCopyStatus –Identity DB2 | Format-List Identity, Status, *Schema*

Name                                  : DB2\EXSERVER2
Status                                : Mounted
MinimumSupportedDatabaseSchemaVersion : 0.121
MaximumSupportedDatabaseSchemaVersion : 0.126
RequestedDatabaseSchemaVersion        :
Name                                  : DB2\EXSERVER1
Status                                : Healthy
MinimumSupportedDatabaseSchemaVersion : 0.121
MaximumSupportedDatabaseSchemaVersion : 0.126
RequestedDatabaseSchemaVersion        :

The maximum supported version of the database schema is 0.126. Both database copies report the same value, so we can conclude that these DAG members have been upgraded (in this case, to CU3).

However, the request to update the database schema is not actioned until the database is mounted, so to check whether this has happened, we run the Get-MailboxDatabase cmdlet as follows:

PS> Get-MailboxDatabase –Identity DB2 –Status | Format-List Name, *Schema*

Name                            : DB2
CurrentSchemaVersion            : 0.126
RequestedSchemaVersion          : 0.126

We can see that the request to upgrade the schema has succeeded and that the database is using the latest schema.

Finally, to discover whether the mailbox schema for an individual mailbox has been upgraded (following a logon), run the Get-MailboxStatistics cmdlet against the mailbox:

PS> Get-MailboxStatistics –Identity ‘TRedmond’ | Format-List DisplayName, CurrentSchemaVersion

DisplayName                          : Redmond, Tony
CurrentSchemaVersion                 : 0.126

All of the schema versions match so we know that the upgrade has been effective across the DAG.

This might all seem a tad prosaic, but it’s a mechanism that has been slipstreamed into CU3 and made available to on-premises customers after a lot of testing and careful observation in Office 365. Of course, Microsoft couldn’t afford to have the DAGs running in Office 365 be compromised by the need to upgrade database internals, so you can argue that this work had to be done to improve the reliability and robustness of the service. That’s true, but isn’t it also true that this is a good example of how innovation flows through the common code base from cloud to on-premises?

Truly, Office 365 is a remarkable test-bed for on-premises Exchange.

Follow Tony @12Knocksinna

Posted in Exchange, Exchange 2010 | Tagged , , , , , | 9 Comments

Exchange Unwashed Digest – December 2013


Statistics show that 118 new posts appeared on my Exchange Unwashed blog on WindowsITPro.com during 2013. I was responsible for the good posts and am unsure as to the author of anything that was rubbish. Here’s what happened during December 2013 – you might have missed the last few posts given that the entire western world seems to shut down for extended periods every December. Happy reading!

Exchange 2013 CU3 causes headaches for OWA on Windows XP (Dec 3): In general, CU3 has proven to be a much better all-round release than its predecessors, but there are always some pieces of grit to spoil things. And so it proved for those still using Windows XP, an operating system that is dead in the eyes of Microsoft and is slowly moving toward obsolescence in the eyes of everyone else. The problem for Exchange is that IE8 simply cannot cope with the tricks that Outlook Web App (OWA) now performs to make it work across PCs, tablets, and smartphones. So it’s stopped. Dead. In CU3. Read all about it.

How nice: Microsoft is now monitoring my Office 365 email (Dec 5): I was charmed to discover that Microsoft has begun to monitor Outlook client connections to Exchange Online, part of their Office 365 service. Of course, it’s all done in the best possible taste and for the best possible reasons, which is definitely not to sell tacky ads. But you never know. Or maybe you do.

What question would you ask Microsoft’s Exchange development supremo? (Dec 6). I was due to talk to Perry Clarke, the Microsoft VP who runs the whole Exchange development operation, and wanted to take the pulse of the community and understand what were people really concerned about. So I asked and received lots of responses.

Office 365: a kind of dogfood environment for on-premises Exchange (Dec 10): By now everyone knows that the Exchange development group builds two separate products (on-premises and cloud) from a single code base. But can you spot the seams and where do the differences lie? Well, Office 365 is always going to be some weeks ahead of the latest available on-premises version, so if you want to know what’s coming in a future cumulative update, you might find some clues by poking around Exchange Online.

How Exchange 2013 measures and monitors server health (Dec 14): Managed Availability is one of those behind-the-scenes components that products rely upon, but although its introduction in Exchange 2013 is one of the more interesting technical achievements of the release, Managed Availability is still badly understood by most. I suspect that this will remain so for quite a while yet as people get their minds around how probes, monitors, and responders work together (or not, sometimes). This piece is an overview of how things work. Hopefully it helps.

Microsoft discontinues Forefront Unified Access Gateway (UAG) (Dec 17): A straightforward news piece to report the not-unexpected announcement that the much under-loved UAG on-premises product was to be discontinued. Read on to find out why this development was unexpected.

Talking Exchange Server with Microsoft’s Perry Clarke (Dec 17): After collecting lots of questions it was time to meet Perry and see what he had to say, but then the conversation took quite another track and we plunged into a discussion about the future of on-premises software, how Exchange Online came to be what it is, what Perry thinks about current product quality, why Apple “owe” Microsoft for creating the ActiveSync ecosystem to help the iPhone triumph over BlackBerry, and many other interesting thoughts. It’s a 4,500-word piece – much longer than any regular blog post – and I hope you find it interesting.

ADSIEdit solves yet another problem for Exchange 2013 mailbox servers (Dec 19): I really like ADSIEdit because it helps you reach parts of Windows and applications that you normally cannot access. In this instance, a small bug in the Exchange 2013 CU2 update code left servers running the enterprise edition still limited to mounting 50 databases. The fix is trivial because it’s simply a matter of updating the Exchange configuration data held in Active Directory. Unless of course you have to fix more than a few servers in which case some code helps. The article explains how to use ADSIEdit to fix one server and PowerShell to scan an organization to detect servers that need to be fixed.

Running Exchange 2013 on Amazon Web Services (Dec 24): While the rest of you were busy filling your Christmas stockings, I took a look at an Amazon Web Services “test-drive” for Exchange 2013. The good news is that it worked – well, mostly. The bad news is that this kind of thing is unapproved and unsupported by the Exchange product group. But the ability to run Exchange on your own cloud platform (as opposed to having someone else do it for you) is coming in the future, probably soon after Microsoft figures out how to develop an Azure-based deployment of Exchange.

Not always straightforward to calculate the costs of moving on-premises email to Office 365 (Dec 26): People still exist that believe the costs of moving to the cloud is simply a matter of paying the monthly per-user bill sent by the cloud provider. This is abject rubbish and anyone who tells you that this is the case should be sent immediately to the nearest institution for close monitoring and tender care. The theory needs to be challenged on a regular basis. Here’s another attempt by me to do so.

Ten predictions for the world of Exchange in 2014 (Dec 31): All pundits are obliged to come up with predictions at the end of the year, most of which are total rubbish. Now that I’ve set the expected standard, here are my predictions for Exchange during 2014. The last prediction is the best (and most accurate).

I regret to inform you that more of the same can be expected during 2014. That is, I plan to post more stuff on Exchange Unwashed. The question is whether anyone will read the posts…. Oh well, on with 2014…

Follow Tony @12Knocksinna

Posted in Active Directory, Cloud, Email, Exchange, Exchange 2013, Office 365, Outlook 2013, Technology | Tagged , , , , , , , , , , , , , , , , , , | 2 Comments

The elimination of web bugs (well, for Gmail anyway)


I read Google’s post of December 12 announcing that Gmail would now display graphics in messages automatically with some interest. It seems like a very good idea to me to address the “web beacon” or “web bug” problem that has forced users to decide whether they want to download images included in their email. Dealing with embedded but invisible images that allow senders to track whether recipients have accessed email has been a conundrum for a very long time.

The technique creates some ethical questions about whether a sender should be able to know whether their message has been read through a mechanism that is invisible to the reader. It also poses some privacy concerns in some countries. The result is that most email systems allow users to block the automatic download of images unless sure that they come from a trusted source, such as an address on the user’s “safe senders” list.

As long ago as 1999, reputable corporate giants such as Microsoft, Quicken, and FedEx used invisible bugs to let web pages and messages report their progress back to their respective mother ship, so it’s actually surprising that it has taken so long before one of the major email providers has done something to quash the habit. If you were cynical, you’d say that it’s even more surprising that it is Google, the company built on advertising, which has taken the step. We live in interesting times, I guess.

Google’s solution is to have all images referenced in email fetched by their secure proxy servers. In other words, images used by web beacons are fetched once, held on the proxy server, and provided to Gmail when users read their messages. It all sounds very efficient and “the right thing to do.”

Unhappily for the marketing community, their carefully crafted missives will now generate tons of responses back from Google’s servers instead of from individual email addresses or IP addresses, so they will never be sure quite whom they have reached. All of Gmail will seem like a great big amorphous blob for marketing purposes.

Some in the security community have pointed out that some risks might exist in the new technique because malicious code might be able to sneak past Google’s checks and be then executed from their proxy servers. For the moment this remains a theoretical threat and I am sure that the sharp minds in Mountain View will have considered how best to mitigate the problem.

Some others have questioned Google’s motives in making the change by asking who benefits from the new approach. It’s reasonable to speculate that Google might be able to benefit from the change by selling a service to marketing companies based on the information it gathers from downloads from its proxy servers. After all, as has been pointed out elsewhere, Google is way more than an email provider and has substantial if not all-encompassing interest in all things connected to advertising, so any action taken by them that affected others in the marketing arena is automatically suspect. We shall have to wait and see, but if you have strong views on the topic, you can always join the Arstechnica debate.

It would be nice if the underlying issue was resolved so that images could be displayed safely while preserving privacy and that a common standard for the resolution could be agreed across all of the major email systems. Perhaps we’ll see this in the future, but for now I applaud Google’s initiative – at least, on the email front.

Follow Tony @12Knocksinna

Posted in Email, Office 365 | Tagged , , , | Leave a comment

Did Exchange ActiveSync help Apple to beat RIM?


Now that the dust has settled down after the publication of my recent interview with Perry Clarke, Microsoft VP for Exchange development, it’s a good time to reflect on some of the statements made by Perry and the reaction that I’ve received since. I plan to look at some of the claims in detail over a series of posts. Here goes.

Many were bewildered by his claim that “I don’t think that Apple would have been so successful with the iPhone against RIM in the enterprise if we hadn’t created the EAS ecosystem.” On the surface, saying that Microsoft helped Apple win the battle for enterprise email mobility seems like a stretch, but I think there is some validity here.

Cast your minds back a decade and you’d find that Research in Motion (RIM) had seized the imagination and the wallets of companies. Exchange wasn’t quite as dominant in the enterprise space as it is now as the struggle for the #1 spot was still hotly disputed by Lotus Notes. However, a BlackBerry Enterprise Server (BES) was a common part of Exchange deployments, especially in North America, and they were expensive to license and deploy. Over time, RIM steadily spread themselves worldwide by signing deals with local mobile operators to carry traffic from devices back to RIM’s Network Operations Center (NOC), the core of their ability to deliver messages quickly, reliably, and securely.

I used a BlackBerry “Quark” in the 2003-2005 period and liked it very much, even if it created some discord at home by introducing the constant demand of “read me, read me” as buzzes announced the arrival of new mail.

Possibly because it was the only reliable protocol available to connect to an Exchange server at the time, RIM used MAPI to interface their servers to Exchange and monitor mailboxes. A single BES was only capable of handling a couple of hundred active mailboxes. In effect, the BES server worked like a hyperactive client, constantly connecting to update user mailboxes. On the other hand, Exchange 2003 wasn’t too light on its feet either and the combination of BES and Exchange 2003 required substantial (expensive) hardware resources.

Microsoft changed the game by including Exchange ActiveSync (EAS) in Exchange 2003 SP1. The big advantage was that EAS came free of charge because it was part of the core Exchange offering. The downside was that few reasonable (functional) mobile clients existed as the Windows Mobile 5.0 devices of the time were slow and buggy. Despite Microsoft’s best effort to market EAS as “direct push email”, the available devices proved the weak point. BlackBerry devices ruled and their users continued to improve their keyboarding skills.

Apple launched the first iPhone in June 2007. This model could connect to Exchange, but only via the older POP3 and IMAP4 protocols. However, the iPhone 3G, launched in July 2008, supported EAS and could therefore synchronize mail, contacts, calendar, and tasks with Exchange. The EHLO post welcoming Apple to the EAS fold is still online.

Of course, the implementation of client-side functionality is entirely in the hands of the device vendor and Apple did not implement all of the EAS features in their email client, nor were they always very good at how iOS used EAS. However, what Apple produced was good enough in terms of functionality and appearance to make it a very real contender. And what’s more, executives loved the iPhone and bought them in droves, and then demanded that IT provided the necessary connectivity to allow the executives to use their beloved devices to access their email.

RIM was still an expensive solution and its devices were not as attractive as the iPhone. RIM’s devices did have a keyboard and that keyboard was a part of the way people worked, but it was undermined by the Apple app store and the explosion of available apps for the iPhone. Suddenly, the closed ecosystem of RIM was threatened by the apparent openness and extendibility of the iPhone, all packaged with a look and feel that everyone wanted. The slippy slope became steeper and more and more customers eliminated BES from their environments as they upgraded to Exchange 2007 or Exchange 2010.

The iPhone (and iPads) are not as secure as BlackBerry devices. They are not as controllable from a system administration perspective. They have caused problems for Exchange servers in many recent updates to the iOS operating system to a point where the prospect of an iOS update causes Exchange administrators to break out into a cold sweat. But iPhone is still the king of the enterprise email mobility stakes, at least in style if not in numbers where the “can’t get no respect” Android devices have probably surpassed the iPhone in terms of the number of devices connected to Exchange.

RIM is now a shadow of its former self. Much of the damage is self-inflicted through corporate hubris but I think that a fair amount of truth exists in the assertion that the EAS ecosystem undercut and weakened RIM in a key corporate constituency. Apple has gone from strength to strength and tens of millions of iPhone and iPad devices have connected to Exchange, including Exchange Online (Office 365) over the years. Moreover, Apple demonstrated to the market the value that lay in licensing EAS, a lesson that was not ignored by the Android mobile device vendors such as HTC and Samsung, who have prospered by licensing EAS too.

EAS might not have been the blade that killed RIM, but it certainly did some damage by opening up alternatives for mobile computing. It also allowed Apple to take advantage of a server-based infrastructure that they did not have to build nor license before customers could connect to Exchange.

Follow Tony @12Knocksinna

Posted in Email, Exchange, Technology | Tagged , , , , , , , , , , , , , , , | Leave a comment

Motorola Mobility continues its losing streak in synchronization war with Microsoft


I spent a good part of 2012 helping Microsoft to defend a law suit in the UK High Court against Motorola Mobility. You’ll recall that Google bought Motorola Mobility for $12.5 billion in 2011 with the intention of exploiting the many patents that Motorola had accumulated in the telecommunications space in their long and noble history.

And so a suit was duly filed alleging that Microsoft had infringed a 1986 patent describing a method to allow two pagers to synchronize their content with each other. Pagers are very simple devices, far less complex than the kind of mobile devices that we use today (or even a decade ago), and the suit alleged that Microsoft’s Exchange ActiveSync, Lync, and Live Messenger products infringed the patent by using the same method to synchronize information across multiple devices.

The case went to trial in December 2012 and resulted in a big win for Microsoft as Motorola Mobility couldn’t come up with a cogent or logical explanation about how ActiveSync (in particular) infringed the patent.

In any event, everyone loves a trier and Motorola Mobility duly headed back into the UK Court of Appeal to see if they could do any better there only to find that they fared no better second time round. After hearing all the arguments in the first case and reading the transcript from the appeal, you’d wonder what logic the Motorola Mobility lawyers saw in spending more money to chase the prospect of extracting license fees for ActiveSync. Oh well, it’s only money…

Motorola Mobility attempted to assert the same patent in Germany against Apple and Microsoft and lost there too.

And now they’ve failed in a case filed with the U.S. Court of Appeals for the Federal Circuit where Motorola was defending itself against a claim by Microsoft that some technology in Android infringed US patent 6,370,566, filed in 2002 and describing how a mobile device synchronized objects held in its local store with a remote store (this doesn’t sound remarkable and to some degree, it’s a pretty obvious idea, but that is the nature of patents). The International Trade Commission had held previously that devices running Android that were imported into the U.S. infringed this Microsoft patent and some others.

Motorola Mobility argued that the synchronization method described in Microsoft’s patent was known previously and cited the Apple Newton MessagePad mobile device as prior art because the Newton included the “claimed synchronization component”. Motorola Mobility also argued that the synchronization method was disclosed in Apple’s documentation for the Newton.  (This Doonesbury strip from 1993 explains why the Newton failed)

It seems like big flaw in the argument was that the Newton synchronized its contents with a desktop using a direct connection between the mobile device and the desktop. This is unsurprising because we didn’t possess or use the kind of network connectivity that we have now when the Newton was around. Thus, you had to plug the Newton in before synchronization could occur rather than the kind of client-initiated synchronization that happens in ActiveSync. In the words of the judgment, there was “no clear and convincing evidence of any synchronization component in the Apple Newton MessagePad, regardless of whether that component actively managed synchronization or simply facilitated it.” (see bottom of page 7).

In any case, Motorola Mobility failed to convince the judges that Microsoft’s patent was invalid. We now await the next move in the ongoing legal saga between the two companies.

Follow Tony @12Knocksinna

Posted in Email, Exchange, Technology | Tagged , , , , , | Leave a comment