Exchange 2007 SP3 Rollup 13

exchange2007logo2[1]Today the Exchange Team released Rollup 13 for Exchange Server 2007 Service Pack 3 (KB2917522). This update raises Exchange 2007 version number to 8.3.348.2.

This Rollup introduces the following fix:

  • 2926397 An Edge Subscription file from an Exchange 2013 Edge Transport server is rejected by an Exchange 2007 Hub Transport server

This Rollup also adds support for using Windows Server 2012 R12 domain controllers in your Exchange 2007 SP3 RU13 environment; it does not add support for running Windows Server 2012 R2 forest or domain functional levels.


  • When running ForeFront Protection for Exchange, make sure you disable ForeFront before installing the rollup and re-enable it afterwards, otherwise the Information Store and Transport services may not start. You can disable ForeFront using fscutility /disable and enable it using the fscutility /enable command;
  • If you want to speed up the update process for systems without internet access, you can follow the procedure described here to disable publisher’s certificate revocation checking;
  • Rollups are cumulative, i.e. they contain fixes released in earlier update Rollups for the same product level (RTM, SP). This means you don’t need to install previous Rollups during a fresh installation but can start with the latest Rollup package.

As with any Hotfix, Rollup or Service Pack, I’d recommend to thoroughly test this rollup in a test and acceptance environment first, prior to implementing it in production.

You can download Exchange 2007 SP3 Rollup 13 here.

The UC Architects Podcast Ep34

UC2A quick post to announce the availability of episode 34 of The UC Architects podcast. This episode was recorded at the Lync Conference 2014 in Las Vegas in front of a live audience and features Jamie Stark (@nomorephones), Senior Product Marketing Manager in the Microsoft Skype division, and Lauren Husum (@lhorgan88), Product Marketing Manager in the Lync Marketing group.

This episode is hosted by Pat RIchard who’s also joined by Ståle Hansen, John Cook, Justin Morris, Tim Harrington and Tom Arbuthnot. Editing was done by Andrew Price.

Topics featured in this episode are:

  • Lync Conference 2014 Impressions
  • Lync Conference 2014 Keynote topics
  • Lync Conference 2014 Expo floor
  • Microsoft picks new CEO
  • Planning a Lync Server 2013 Deployment on Virtual Servers
  • Lync Server 2013 Stress Testing Guide
  • Lync Conference 2014 Keynote: Building Toward Universal Communications

More information on the podcast including references and a link to download the podcast here or you can subscribe to the podcasts using iTunes, Zune or use the RSS feed.

The UC Architects is a bi-weekly community podcast by people with a passion for Unified Communications; our main focus is on Exchange, Lync or related subjects.

The UC Architects Podcast Ep33

UC2A quick post to announce the availability of episode 33 of The UC Architects podcast.

This episode is hosted by Steve Goodman who’s joined by Michael Van Hoorenbeeck, Dave Stork, Johan Veldhuis and John Cook. Editing was done by Andrew Price.

Some of the topic in this episode are:

  • Lync Conference Sessions from The UC Architects
  • Lync Conference Parties EventZero, LyncdUp, eNow
  • Lync Conference Giveaway – 35 items so far!
  • Microsoft Exchange Conference (MEC) Sessions from The UC Architects
  • The UC Architects Live From MEC
  • So long RPC/HTTP, Hello MAPI/HTTP
  • Exchange 2010 mailflow troubleshooting guide
  • Exchange 2010 TIFF iFilters (OCR Tiff -> Exchange Search)
  • Slow Response To Exchange Virtual Directory Cmdlets
  • Cmdlet Extension Agents & XML Case Sensitivity
  • Steve Goodman’s Guide for migrating from Exchange 2007 to 2013
  • Use these ideas from Steve Goodman to troubleshoot slow mailbox moves to Office365
  • Dave’s Stork’s From open source groupware solution Zarafa to Exchange Part 1
  • Common mailbox / folder sharing scenarios Guided Walkthroughs now available
  • Exchange 2010 and 2013 Database Growth Reporting Script
  • Stale’s Exchange Integrations and Lync session visions from NIC
  • Get-umAutoAttendantDiagram: Auto Diagram Your Exchange Auto Attendants
  • Lync Meeting Update Tool
  • New blog LyncServer Design/Planning and Policies
  • Worlds first Twitter to Lync IM Bridge
  • Managing Office 365 e-mail addresses easy with PowerShell when using DirSync

More information on the podcast including references and a link to download the podcast here or you can subscribe to the podcasts using iTunes, Zune or use the RSS feed.

The UC Architects is a bi-weekly community podcast by people with a passion for Unified Communications; our main focus is on Exchange, Lync or related subjects.


Ex2013 LogoMicrosoft published three sessions from the Redmond Interoperability Protocols Plugfest 2013 on Channel 9 on the protocol MAPI over HTTP or MAPI/HTTP which looks scheduled to arrive with Exchange 2013 Service Pack 1.

This protocol is set to (over time!) replace the RPC/HTTP protocol we all know. RPC/HTTP, or Outlook Anywhere, is used by Outlook to communicate with Exchange Server and is most often seen with clients working remotely. With Exchange Server 2013, support for MAPI was dropped and RPC/HTTP became the only protocol. With Exchange 2013 SP1 it seems we will receive an alternative which is set to replace RPC/HTTTP, MAPI/HTTP.

Of course, the information is preliminary and subject to change as Exchange 2013 SP1 hasn’t been released yet, but it won’t harm to get familiar with the planned changes. It also remains to be seen how quick organizations will adopt this new protocol, which I’m pretty sure we will soon see getting supported by Office 365.

MapiHttp in Exchange 2013 SP1
Joe Warren, Principal SDE at Microsoft delivering a presentation covering the Exchange 2013 MapiHttp protocol implementation in Exchange 2013 SP1. Topics: What is MAPI-HTTP?, Why do MAPI-HTTP?, Goal of MAPI-HTTP, Why not rebuild with EWS?, Existing RPC-HTTP, New MAPI-HTTP, What does a MAPI-HTTP request look like?, What does a MAPI-HTTP response look like?, Session Context, Request Types, Sequencing & Protocol Failures. Click here.

Outlook 2013 Client Protocols
Shri Vidhya Alagesan, SDE at Microsoft presenting on Outlook 2013 Client Protocols from a client’s perspective. Topics: Client side view of Outlook-Exchange MAPI-HTTP protocol using WinHTTP, Error Handling & RPC Vs. MAPI-HTTP with sub-topics of Architecture Overview, Outlook & WinHttp, Cookies, Connection Status Dialog, Timeout, Pause/Resume & Protocol Switching. Click here.

Exchange 2013 Protocols
Andrew Davidoff, Senior Software Developer Engineer in Test at Microsoft presenting on the Exchange 2013 protocol families and important protocol updates for Exchange 2013. Click here.

Apart from these sessions on protocol change announced for Exchange Server 2013 SP1, Microsoft also published some other interesting Exchange-related sessions:

Exchange 2013 Web Services Overview
Harvey Rook, Principal Development Lead, and Naveen Chand, Senior Program Manager Lead, deliver a presentation on Exchange Web Services best practices. Click here.

Exchange RPC and EWS Protocol Test Suites
Jigar Mehta, Software Development Engineer in Test provides an in depth overview of the test suite packages for the Exchange RPC and Exchange Web Services protocols. Click here.

Cmdlet Extension Agents & XML Case Sensitivity

Ex2013 LogoOccasionally, I get requests to come to the aid of a fellow IT professional (I seldomly get requests to come to the aid of fair maidens. Oh, well). This weekend I responded to one of those distress calls by someone who couldn’t get his Cmdlet Extension Agent to work. This post is a quick heads-up for the collective memory of IT Professionals as it took me quiet a bit of screen staring to spot the issue.

For those unfamiliar with Cmdlet Extension Agents, they are modules which allow you to enhance or customize the behavior of cmdlets in Exchange. For example, the built-in Mailbox Resources Management agent is responsible for picking the database when creating new mailboxes when a database hasn’t been specified. By means of the Script Agent and an XML file named ScriptingAgentConfig.xml containing PowerShell code fragments, you can enhance and tailor Exchange cmdlets to your own needs. For those interested in Cmdlet Extension Agents, I did two earlier articles on Cmdlet Extension Agents, here and here.

The code provided was a simple agent to enhance New-Mailbox with enabling SingleItemRecovery after the mailbox was created:

<?xml version="1.0" encoding="utf-8" ?>
<Configuration version="1.0">    
        <Feature Name="Mailbox Provisioning" cmdlets="new-mailbox">
         <ApiCall Name="OnComplete">
             if($succeeded) {
                $newmailbox = $provisioningHandler.UserSpecifiedParameters["Name"]
                set-mailbox $newmailbox -SingleItemRecoveryEnabled $true

The Scripting Agent was enabled using Enable-CmdletExtensionAgent. Yet, for some reason after creating a new mailbox, SingleItemRecoveryEnabled wasn’t enabled. Running New-Mailbox in Verbose mode showed that the Scripting Agent did not come into play:

Capture1Now know that debugging and troubleshooting Cmdlet Extension Agents can be an unpleasant task since you put PowerShell code in XML files and there is no way to easily perform simple tests except running the Cmdlet you’re customizing or developing script fragments in an external PowerShell script and copy/paste it in the Scripting Agent XML file when you think it’s ready for and want to perform some final tests.

I didn’t immediately spot it, so to see if the problem was actually in the XML I picked the example of my 2nd article on Cmdlet Extension Agents and I compared it with the non-working XML using WinMerge (which by the way is an excellent tool to compare code or plain texts):

WinMergeIt took some time to discover why the Scripting Agent wouldn’t pick up the XML and it can be easily overlooked. The culprit in underlined in red: the C of the Cmdlets attribute in the Feature tag should be uppercase. Doh! This case sensitivity is perhaps not a primary suspect by Windows folks, as mostly we don’t have to worry about it and things “just work”, but in the case of XML it is essential. The XML standard prescribes that element names (<Feature> .. </Feature>) and attribute names (<Feature Cmdlets=..>) are case-sensitive entitling the Scripting Agent to be strict.

Can’t Create Mailboxes in Remote Sites

Ex2013 LogoRecently I got an e-mail from someone who had problems creating mailboxes in a new environment. When trying to create a mailbox, he received a following message stating, “Load balancing failed to find a valid mailbox database.” Apparently, the Mailbox Resources Management Agent (a Cmdlet Extension Agent) could not find an eligible mailbox database candidate.


The MRMA uses the following selection process when picking a candidate for mailbox creation or moving:

  1. Create a list of all mailbox databases;
  2. Remove databases marked for exclusion;
  3. Remove databases out of the management scope;
  4. Remove databases from remote (AD) sites;
  5. Pick a random online, healthy database from the list.

This person had a DAG, two mailbox databases (MDB1, MDB2) and two sites (AMS and LON).

We first checked the more or less obvious, which is to see if databases are not excluded from the provisioning process, so we entered Get-MailboxDatabase | fl *FromProvisioning:


Databases seemed enabled for provisioning. We then checked the status of the active database copies:


The copies looked healthy, but we noticed all databases were mounted in a remote site (derived from the server name starting with LON; we’re working from AMS). Looking back at the database selection process, it explained why it probably didn’t work and since the active copies should be moved back to the preferred site AMS anyway we moved the active copies back:


After moving the active database copies back to the location where we were performing our cmdlets from solved things.

Note that we could have discovered the issue using the Verbose parameter with the cmdlet. For example, New-Mailbox in conjunction with Verbose will show the selection process. The following screenshot shows an unsuccessful selection process considering available databases:


This screenshot shows a successful selection process.


More information on automatic mailbox distribution and controlling its behavior here.

The UC Architects Podcast Ep32

UC2We’re glad to announce the availability of episode 32 of The UC Architects podcast.

This episode is hosted by Pat Richard who’s joined byJohn Cook, Michael van Hoorenbeeck, Serkan Varoglu, Tom Arbuthnot, Justin Morris, Tim Harrington and Ståle Hansen.Special guest is Jamie Stark who’s Product Manager on Lync at Microsoft. Editing was done by Andrew Price.

Some of the topic in this episode are:

  • SharePoint teams POV on use of SharePoint branding by evangelists
  • Important Changes to the Forefront Product Line
  • Lync Conference
  • TechEd being discontinued?
  • Limit access to Office Web Apps Server (OWAS)
  • Searching for that LineURI – again
  • Conferencing MCU issues with Lync 2013 on Windows Server 2012 R2
  • Telefonica Shuts Down Jajah
  • L+ Extending Lync for large meetings Lync
  • Polycom VVX Manager Tool
  • Improving Quality of Meeting Recordings
  • Lync and Software-Defined Networking
  • Stale’s LyncConf session
  • Can you use ActiveSync to estimate market shares?
  • Estimating the size of an Exchange Online Archive
  • Office 365 token disclosure
  • Exchange security updates and more
  • Publishing multiple services using only a single IP w/ Kemp
  • Exchange 2013 to 2007 Outlook Anywhere Proxy Issue

More information on the podcast including references and a link to download the podcast here or you can subscribe to the podcasts using iTunes, Zune or use the RSS feed.

The UC Architects is a bi-weekly community podcast by people with a passion for Unified Communications; our main focus is on Exchange, Lync or related subjects.

EighTwOne 2013 Annual Report

Happy new year to all my dear readers and followers. It’s been again a busy and interesting year for various reasons:

  • Becoming an Exchange MVP;
  • MVP Summit 2013 in Seattle;
  • TechEd North America 2013 in New Orleans;
  • (Finally) meeting in person with many of the Exchange fellows and PG and peers at the aforementioned events;
  • The UC Architects podcast increasing popularity;
  • Finding time to write some (popular) scripts which were on the to-do list;
  • Cancellation of the MCM/MCSM certification;
  • Going from 0 abroad travel for business per year to 5 (Denmark, UK, Thailand, USA);
  • After working with mostly local customers in the past few years, participating again in a long-term international project with expats, offshoring and local IT teams.

The end of a year is also a time of lists. I’d like to share with you some of EighTwOne statistics of 2013, in the blog’s 4th year running. The statistics come directly from the site and without additional observations apart from that Exchange 2010 still seems to be highly popular when looking for information.

Apart from the Archives, Versions, Builds and Dates, Schema Versions and Toolkit pages, these were the Top Posts of 2013:

All time Top Posts:

All time Top Scripts:

imageTop 5 visitor countries of 2013:

  • United States (84,869)
  • United Kingdom (23,838)
  • Germany (21,338)
  • Netherlands (15,768)
  • Canada (11,322)

Top 5 referrers of 2013:

  • (TechNet forum)
  • (Paul Cunningham)
  • Twitter
  • (Microsoft blogs)
  • (community)

Top 5 search terms of 2013:

  • isinteg exchange 2010
  • exchange versions
  • zimbra vs exchange
  • role based access control
  • msexcheseparamcachesizemax

Forefront UAG EOL Announcement

ForeFrontAlmost one and a half year after the End of Life announcement of TMG (and other products in the Forefront product line), Microsoft yesterday announced the End of Life of one of the other Forefront products, Unified Access Gateway or UAG as we all know it. To be honest, this announcement didn’t come as a big surprise.

The TMG EOL notice in September 2012 said, “It is important to note that there are no significant changes to the Forefront Identity Manager or Forefront Unified Access Gateway roadmaps”. Apparently Microsoft changed its mind somewhere over the last 15 months. Forefront UAG won’t be available anymore per July 1st, 2014; mainstream support ends April 14th, 2014 and extended support ends April 14th, 2020.

Suggested alternative is Windows Server 2012 R2 with its Web Application Proxy (WAP) role. Though not being on par with UAG or TMG, WAP can provide DirectAccess capabilities and application publishing. Other vendors offer alternative products like KEMP load balancers equipped with their Edge Security Pack (ESP) or F5 with their BIG-IP Local Traffic. Manager (LTM) products.

Customers with Software Assurance utilizing UAG are granted a Windows Server 2012 R2 Standard license. As of December 1st, those customers are also exempt from ordering additional UAG licenses.

Exchange ESE Performance: 2010 versus 2013

Ex2013 LogoNote: I finished this article after having the draft ready for some time. It describes a simple storage performance test I did some time ago when I had some spare time and a few SSD disks to spare – a seldom circumstance. Despite Exchange 2013 CU3 and Windows Server Server 2012 R2 now available, I choose not to redo the tests with current versions as WS2012 R2 is more similar to WS2012 than WS 2012 is to WS2008R2 and also due to current time and resource constraints. Therefor, the information collected at the time is used as-is. Also, be sure to check the disclaimer at the end of the article.

After the release of Exchange 2013, the claim was that the new Exchange extensible storage engine (ESE), when compared to Exchange 2010 ESE, would require 50% less IOPS. I wanted to get in indication if there was any truth to that claim utilizing my humble lab setup, consisting of HP’s entry level ML110 G6 servers (x3430, 16GB). Using spare SSD’s as storage, that should provide sufficient IOPS thus not becoming a bottleneck, I ran JetStress 2010 and JetStress 2013 to see if there were any significant differences in the results. As at that time Windows Server 2012 also became available, I ran both versions of JetStress on Windows Server 2008 R2 as well as on Windows Server 2012.

For those unfamiliar with JetStress, it is the tool to verify the performance and stability of Exchange storage solutions and is normally used prior to putting an Exchange server into production when validate the storage solution against required performance criteria. It does this by simulating Exchange I/O patterns for a specified number of users and profiles or you can test the storage throughput in general.

The following parameters were used to perform JetStress tests:

Mode Test Disk Subsystem Throughput
Thread Count 8 (fixed)
Min/Max DB Cache 32 MB / 256 MB
Ins / Del / Repl / Read % 40/20/5/35
Lazy Commits 70%
Run Background DB Maintenance True
Databases 1 x 100 GB DB, 3 Copies

I used a fixed number of threads to rule out differences in JetStress’ auto tuning components and level the 2010 and 2013 playing fields. Also, in JetStress 2013 the thread count is global where in JetStress 2010 it was a per database setting. Since we’re using a single database, this shouldn’t have any impact. The database and logs were storage on a single LUN, using a a dedicated directly attached SSDs with an aligned NTFS partition and 64k cluster size.

The results of the JetStress 2010/2013 tests on Windows Server 2008 R2 / 2012 are contained in the table below (I/O is Total I/O as Database and Logs were put on the same volume). All significant (10%+) deviations are marked in bold.

JetStress Version
(Exchange 2010 SP3)
(Exchange 2013 CU1)
(Exchange 2010 SP3)
(Exchange 2013 CU1)
Operating System 6.1.7600
Overall Test Result Passed Passed Passed Passed
Achieved Transactional IOPS 773,71 899,72 777,34 865,84
Database Reads Average Latency (msec) 16,86 11,78 16,06 11,47
Database Writes Average Latency (msec) 4,54 3,70 4,32 3,32
Database Reads/sec 397,82 506,96 396,41 490,70
Database Writes/sec 392,75 398,87 398,76 381,34
Database Reads Average Bytes 42.681,78 35.649,30 43.127,88 35.753,71
Database Writes Average Bytes 35.404,62 35.312,04 34.894,94 35.520,67
Log Reads Average Latency (msec) 12,17 9,34 10,29 8,35
Log Writes Average Latency (msec) 0,68 0,57 0,63 0,50
Log Reads/sec 8,97 9,03 8,36 8,84
Log Writes/sec 171,72 172,59 172,94 173,15
Log Reads Average Bytes 232.562,93 232.566,98 232.565,23 232.565,17
Log Writes Average Bytes 6.305,28 8.381,35 5.845,82 8.269,47
Avg. % Processor Time 3,65 2,83 3,70 2,77
JetStress Report Link Link Link Link

Some interesting observations:

  • Though I didn’t see a 50% IOPS reduction, which could be related to my setup, Exchange 2013 generates significant less IOPS;
  • Exchange 2013 shows significant lower average DB+Log latencies for read and write operations;
  • Exchange 2013 on WS2012 gives slightly worse IO performance but offers lower DB+Log latencies for read and write operations;
  • Exchange 2013 shows a higher DB read read (DB Reads/sec) reading smaller chunks of data (DB Reads Avg. Bytes);
  • Stressing the disk subsystem in Windows Server 2012 results in a lower CPU utilization.

Finally, a short disclaimer: This test was only performed to get an indication of differences in storage performance of Exchange Server 2010 SP3 and Exchange Server 2013 CU1 on Windows Server 2008 R2 and Windows Server 2012 when utilizing identical hardware. The JetStress results are purely indicative and not meant to provide guidance or proof related to disk subsystem performance in any form with regards to Exchange Server 2010 versus Exchange Server 2013 on Windows Server 2008 R2 and Windows Server 2012. Your mileage may – and will – vary.

You can download the JetStress tool here to test your storage solution; monitor my toolkit page for any updates. The JetStress 2013 Field Guide can be found here.