Category Archives: UC&C

Creating Exchange dynamic distribution groups with custom attributes

You learn something new every day… I guess that means I’m ahead of schedule for the day.

A coworker asked if there was a way to use PowerShell to create a dynamic distribution group using one of the AD customAttributeX values. I didn’t know the answer offhand (since I create new distribution groups about every 5 years), but a little binging turned up the documentation for New-DynamicDistributionGroup. Turns out that the ConditionalCustomAttributeN parameters will do what he wanted:

New-DynamicDistributionGroup -IncludedRecipients mailContacts -ConditionalCustomAttribute6 "PeopleToInclude"

It turns out that wasn’t what he really wanted– he wanted to create a dynamic DG to include objects where the custom attribute value was not set to a particular value. The ConditionalXXX switches can’t do that, so he had to use a RecipientFilter instead:

New-DynamicDistributionGroup -IncludedRecipients mailContacts -RecipientFilter {ExtensionCustomAttribute6 -ne "PeopleToExclude"}...

Leave a comment

Filed under Office 365, UC&C

Microsoft Exchange engineering and cloud-scale

The Exchange team (or at least Perry Clarke, its fearless leader) has been known to describe Exchange Online as “the gateway drug to the cloud.” But how did that come to pass?

This week at Ignite, I was lucky enough to have dinner with some folks from the Exchange product team and a very, very large customer where we discussed the various ways in which Exchange engineering has blazed a trail the rest of Microsoft’s server products have eventually followed. After a bracing Twitter discussion this afternoon with @swiftonsecurity and some of her other followers, I thought it would be fun to put together a partial list of some of the things we discussed to illustrate how the Exchange team has built a stairway to heaven, or an elevator to the cloud, or something like that.

Let’s start with PowerShell. Love it or hate it, it is here, so we all have to deal with it. In 2007, the idea that Exchange would be built on PS was both revolutionary and, to many, revolting, but it allowed Microsoft to do several important things (not all of which shipped in Exchange 2007, but all of which are critical to cloud operations):

  • Greatly improve testability, both for the developers themselves but also for administrators, who now got a suite of protocol and endpoint-related tests they could run as part of troubleshooting– critically important when you have to troubleshoot in a global network of data centers hosting tens of millions of mailboxes
  • Fully enable role-based access control, also critical for cloud deployments where customers want to control who can do what with their data
  • Finally decouple the presentation layer of the UI (EMC, EAC, etc) from business logic
  • Massively improve the tools for scripting, including enabling very large-scale bulk operations– an obvious requirement for a cloud-scale service

Requiring PowerShell was a bold move by the Exchange team but one which has both paid off hugely and one that’s been echoed by the Windows, SharePoint, SQL Server and Skype teams, all of whom depend on it for managing their own cloud services. (See also: the Microsoft Graph APIs.)

Then there’s storage performance. In ancient days, getting scale from Exchange pretty much required the use of SANs due to Exchange’s IO requirements. Now, thanks to the IOPS diet imposed by Exchange engineering, it doesn’t. Tony does his usual excellent job of summarizing the actual reductions. Summary: Exchange 2016 requires roughly 96% fewer IOPS than Exchange 2003 did. There have been a ton of storage performance improvements in Exchange’s sister products (notably SQL) but those have their own stories that I’m not competent to tell. The relentless drive to cut IOPS requirements was one of the biggest enablers for Exchange Online, since controlling storage provisioning costs is critical for any type of scaled cloud service.

Of course, data protection is critical too. Exchange moved from having a single monolithic database to one with separate property and MIME databases (Exchange 2000) then to having software-based database replication with clustering (Exchange 2007) to shared-nothing, fully-replicated active/passive database replication (Exchange 2010 and later). Keeping multiple separate database copies (including lagged copies) enables all sorts of DR and HA scenarios that previously had required SANs. The ability to reliably use cheap JBOD disks, which thanks to Moore’s Law have embiggened nicely during Exchange’s lifetime, has been a key enabler for Exchange Online.

Then there’s a bunch of other architectural changes and improvements that are really only interesting to Exchange nerds. For the latest example, I present “read from passive,” but there’s also all the stuff covered by the Preferred Architecture.

Oh, I almost forgot: managed availability gives ExO a fair degree of self-healing, although its behavior sometimes surprises on-prem admins who see it do things on their behalf unexpectedly.

Oh, and let’s not forget the conversion of all the Exchange codebase to managed code– that was an important accelerator for the move to the cloud, as well as serving as a lighthouse for other product groups with code of similar vintage.

There are more examples, I’m sure, but these should get the point across– there’s been a steady stream of architectural changes in the nearly 20 years since Exchange 4.0 shipped that have led directly to the capability, power, and reliability of Exchange Online– which really has been the gateway drug for getting Microsoft’s customers to Office 365.



Leave a comment

Filed under UC&C

Office 365 Exposed, Episode 4

Another trip to California for Tony and me means another episode of Office 365 Exposed! This time, we talked about Microsoft Ignite, Office 365 Groups, why the Saints are my favorite football team, and a host of other topics. (OK, I admit it. We did not actually talk about the Saints. Maybe next episode. I did sneak in a plug for the College Football Hall of Fame though.)


Leave a comment

Filed under Office 365, Podcasts, UC&C

Microsoft releases updated Office 365 Visio stencil

Yay! Microsoft has updated their downloadable Visio stencil set for Office 365 to include the 2016 versions of the application icons, plus some other visual improvements. Now your Visio diagrams can have that fresh 2016 feel. (Thanks to Samantha Robertson, Dan Fraser, and Tony Smith of Microsoft for making this happen.)

Leave a comment

Filed under UC&C

Nifty new auto-vacation feature for Outlook on the Web

This is a great example of Microsoft bringing useful innovation to end users by deploying new features in Office 365:

Outlook on the web now makes it easier to clear your calendar and automatically decline meetings before you head out for some time away from the office. When you set an automatic reply in Outlook on the web, Outlook will offer to do the following on your behalf:

  • Block your calendar so people know you’re away.
  • Clear existing meetings on your calendar by declining/canceling them.
  • Automatically send a response to incoming invitations while you’re away.

Of course, Outlook and Exchange have long had the ability to automatically send an out-of-office (or “OOF”, from “out of facility“) message when you specify the dates when you’ll be away. These new features extend the traditional OOF behavior by adding some business logic to the OOF process– after all, when you’re out of the office, it is logical to assume that you won’t be accepting appointments during that time, and that you want new invitations to be automatically declined. (There are exceptions, of course, which is why you can turn this business logic off.) I’m not in love with the fact that this feature requires you to set your  works in Outlook on the web, but I’m hopeful that it will make it into other versions of Outlook at some point.

Apart from the specifics of this individual feature, it’s really encouraging to see the Outlook team invest in innovation like this. Given the large feature gap between Outlook on the web and Gmail (the only real enterprise competitor to Exchange/Outlook) it would be easy for the Outlook team to coast. Part of the ethos of building software at cloud speed involves iterating rapidly, and that in turn means sometimes you build something that turns out to get a lukewarm reception because it’s not as useful as first thought. (Tony argues that this is the case for Outlook’s support for likes and @ mentions.) However, sometimes you build something that turns out to be really nifty, and I think this feature is a good example– I look forward to seeing it roll out more broadly.

(for another time: I know not every tenant admin will want this feature turned on for their users without prior notice or permission, and Microsoft has a lot of room to improve the way they deliver features so that administrators can control user access to them.)


Leave a comment

Filed under General Stuff, Office 365, UC&C

Office 365 Exposed ep 02

It’s the offseason for Office 365, at least sort of– with no conferences until the fall, Tony and I had to take the opportunity of meetings at ENow to record this episode of Office 365 Exposed. Topics we covered included Delve Analytics, the contentious topic of mailbox anchoring, a bit about Skype for Business Online’s telephony features, and frequent mentions of Yammer for those of you who like to enjoy our podcast with a beverage in hand.

1 Comment

Filed under Office 365, Podcasts, UC&C

The next big thing: joining ENow as CTO

It is a cliché to talk about an opportunity that’s too good to refuse (not to be confused with an offer you can’t refuse), but sometimes it doeshappen.

I am very excited to announce that, effective 26 October 2015, I will be taking the position of chief technology officer (CTO) for ENow Software. In that role, I will be driving the development of their next generation of products for both on-premises and Office 365 monitoring. It’s a big step forward for my career, moving me simultaneously back towards the development world and further into the cloud. (It’s also a little surreal to see one’s job change announced in a press release.)

Before I get into the nuts and bolts of what I’ll be doing, a personal note: I want to thank Scott Edwards, Ben Curry, and all my coworkers at Summit 7 Systems. What a talented and skilled group of people! I accidentally learned much more than I expected about SharePoint from them, and both Ben and managing consultant Matt Whitehorn were instrumental in helping me identify soft skills I need to work on— always a challenge. I have huge respect for what the Summit 7 team has accomplished and recommend them in the highest possible terms to anyone who needs Office 365, Azure, AWS, or SharePoint design, strategy, or migration help.

So, the new job. In the CTO role, I’ll be reporting directly to Jay Gundotra, the CEO. I’ll be responsible for technical product strategy and implementation, the customer success team, technical presales, and internal IT. (I am still working on a transition plan to establish an ENow corporate aviation department, but don’t tell Jay.) That’s quite a broad scope, which means I can bring to bear everything I’ve learned throughout my career as a developer, consultant, and administrator. Driving beneficial change across these disparate fields is going to be an exhilarating challenge! Luckily I will have a really powerful team on my side, including Michael Van Horenbeeck (noted hooligan/tequila drinker, Microsoft Certified Master, and Exchange MVP) and Tony Redmond, a member of ENow’s advisory board.

ENow is already very successful in their chosen markets, but the cloud poses a brand-new set of technical and business challenges, both for them and their customers. The #1 question I hear from IT pros and business decision makers is simple: how will the move to the cloud affect me and my business? It’s interesting that I don’t remember many people asking that during the years-long transition from mainframe- and mini-based solutions to the x86 world; people just naturally assumed their skills would transfer. That hasn’t been the case with the cloud. Figuring out how to effectively monitor and manage cloud services when you don’t control the underlying platform is a tough problem. Instrument flight is probably a good metaphor here. On a clear day, you can see the ground, so flying is easy. There’s a visible horizon and landmarks. In the clouds, everything changes– if you’ve ever been in an airplane on a cloudy day, you know that you can see where the clouds are but not what’s inside them. Flying inside clouds is like being inside a ping-pong ball, with no visual cues you can use for orientation. You have to use your instruments to keep the plane pointed in the right direction and right side up. Moving workloads such as Exchange email or SharePoint to the cloud doesn’t lessen your need to monitor what’s happening, it just changes the way in which you’ll do it, and figuring out that change is a key task in my new role.

Of course, Microsoft is releasing new services and capabilities in Office 365 at a rapid clip, so another key challenge will be figuring out how to keep up with them and how best to bring ENow’s experience in simplifying the complexities of enterprise application monitoring to a world where Microsoft seems intent on giving everyone Fisher-Price-style monitoring and reporting tools.

Despite the new job, some things won’t change: I’m still living in Huntsville, I’m still not a Cowboys fan (sorry, Jay), and I’ll still be blogging here, although I expect to be writing some more strategy-oriented posts for ENow’s blog. Where I can, I plan to share details of what I’m working on, so stay tuned!


Filed under California, Friends & Family, UC&C