Annual Report 2020

stats chart

Happy new year to all my dear readers and followers. And what a crazy year 2020 has been, where the pandemic forced the hand of those delaying digital transformation. The uptake of work from home and supporting technologies and adoption was phenomenal, and professionally it has been an extremely busy year. As you can spend your time only once, the year again proved to be a challenge for those busy working on customer projects while tending to the community as well. In the end, it is all about finding a balance, especially if you are working from home and the rest of the household is as well. And then there’s this cat.

That said, I thought it would be nice to kick 2021 off with reinstating the annual report. I’d like to share with you some of blog’s statistics of 2020, the blog’s 10th year running. The statistics come directly from the site and without additional observations, apart from that for some reason looking things up related to Exchange 2010 still remains to be very popular.

General 2020 Stats

  • Number of views: 300,370 (2,811,923 all-time)
  • Unique visitors: 129,905 (1,457,892 all-time)
  • Number of posts: 20 (629 total)
  • Followers: 450
  • Busiest day: November 18th (3,496 views – Teams Custom Background referrals)
  • Most time: Wednesday, 4pm
  • Top post of 2020: Configuring Exchange Online with IMAP & OAuth2

Most popular blogs from 2020

Apart from the Versions, Builds and Dates, Schema Versions and Toolkit pages, the newly introduced Teams Custom Backgrounds page stood out this year with 13,117 in just a few months. When it comes to blogs published in 2020, the most viewed posts are:

Blog from 2020
Configuring Exchange Online with IMAP & OAuth2
Exchange Online Management using EXOv2 module
Outlook Connectivity changes per Nov2021
Security Updates Exchange 2010-2019 (Dec2020)
Holiday Season Teams background

Most popular all-time blogs

BLOG (All-Time)
Limiting Exchange 2010 Database Cache /
Limiting Exchange 2010 SP1 Database Cache
Exchange ActiveSync and Inheritable Permissions issue
TargetAddress, ExternalEmailAddress and Set As External
The Attribute, the Myth, the legacyExchangeDN
Exchange Message Size Limits

Top Scripts in 2020 (GitHub)

Script
Connect-Office365Services
Get-EventSession
Remove-DuplicateItems
Install-Exchange15
Remove-MessageClassItems

Top visitor countries in 2020

Country
United States
United Kingdom
Germany
Netherlands
Canada

Top referrers in 2020

Referer
Google
Bing
Spiceworks (community)
Twitter
Practical365 (blog)

Most used search terms in 2020

Search term(s)
exchange versions
exchange 2010 end of life
exchange schema versions
office 2016 support lifecycle
exchange version 15.1

Holiday Season Teams background

Update: Per request, added SharePoint and OneDrive, and did some manual corrections.

A really short post on a Ugly Sweater background with Exchange, Teams and Outlook theme to use during those conference calls end of December. Enjoy!

Like it or not, leave feedback in the comments. Also, suggestions are welcomed. In case you are not aware, I keep a set of custom background for you to enjoy here.

Exchange Updates – December 2020

The Exchange Team released the quarterly Cumulative Updates for Exchange Server 2019 as well as Exchange 2016. Be advised that Exchange 2016 will receive its final CU in March, 2021.

Links to the updates as well as a description of changes and fixes are described below.

VersionBuildKBDownloadUMLPSchemaPrepareAD
Exchange 2019 CU815.2.792.3KB4588885VLSC NY
Exchange 2016 CU1915.1.2176.2KB4588884DownloadUMLPNY

Exchange 2019 CU8 fixes:

  • 4588297 Attachments can’t be downloaded or previewed from Outlook Web App
  • 4583531 Design change about inline images will be forced to download but not open in a new tab of OWA in Exchange Server 2019
  • 4583532 ELC MRM archiving fails due to DomainName in AuthServer in Exchange Server 2019
  • 4583533 Exchange Server 2019 installation fails with error “The user has insufficient access rights” 
  • 4583534 Event ID 65535 System.Runtime.Serialization errors in Application log in Exchange Server 2019
  • 4583535 New-Moverequest, Resume-Moverequest, and Remove-Moverequest not logged in Audit logs in Exchange Server 2019
  • 4583536 Set-MailboxFolderPermission is included in Mail Recipient Creation in Exchange Server 2019
  • 4583537 Update Korean word breaker in Exchange Server 2019
  • 4583538 Microsoft Teams REST calls exceed the default value of maxQueryStringLength in Exchange Server 2019
  • 4583539 Non-breaking space is visible in message body in Outlook in Exchange Server 2019
  • 4583542 Server assisted search in Outlook doesn’t return more than 175 items in Exchange Server 2019
  • 4583544 Lots of LDAP requests for FE MAPI w3wp lead to DDoS on DCs in Exchange Server 2019
  • 4583545 Make DomainName in Authserver a multivalued parameter in Exchange Server 2019
  • 4593465 Description of the security update for Microsoft Exchange Server 2019 and 2016: December 8, 2020

Exchange 2016 CU19 fixes:

  • 4588297 Attachments can’t be downloaded or previewed from Outlook Web App
  • 4583531 Design change about inline images will be forced to download but not open in a new tab of OWA in Exchange Server 2016
  • 4583532 ELC MRM archiving fails due to DomainName in AuthServer in Exchange Server 2016
  • 4583533 Exchange Server 2016 installation fails with error “The user has insufficient access rights” 
  • 4583534 Event ID 65535 System.Runtime.Serialization errors in Application log in Exchange Server 2016
  • 4583535 New-Moverequest, Resume-Moverequest, and Remove-Moverequest not logged in Audit logs in Exchange Server 2016
  • 4583536 Set-MailboxFolderPermission is included in Mail Recipient Creation in Exchange Server 2016
  • 4583537 Update Korean word breaker in Exchange Server 2016
  • 4583538 Microsoft Teams REST calls exceed the default value of maxQueryStringLength in Exchange Server 2016
  • 4583539 Non-breaking space is visible in message body in Outlook in Exchange Server 2016
  • 4583545 Make DomainName in Authserver a multivalued parameter in Exchange Server 2016
  • 4593465 Description of the security update for Microsoft Exchange Server 2019 and 2016: December 8, 2020

Notes:

  • These Cumulative Updates contain schema changes compared to the previous Cumulative Update. This requires you to run /PrepareSchema. Also, Active Directory changes require you to run PrepareAD (which also can perform the schema update, depending permissions). Consult the Exchange schema versions page for object version numbers.
  • When upgrading from an n-2 or earlier version of Exchange, or an early version of the .NET Framework, consult Upgrade Paths for CU’s & .NET.
  • Don’t forget to put the Exchange server in maintenance mode prior to updating. Regardless, setup will put the server in server-wide offline mode post-analysis, before making actual changes.
  • When using Exchange hybrid deployments or Exchange Online Archiving (EOA), you are allowed to trail at most one version (n-1).
  • 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.
  • Cumulative Updates can be installed directly; no need to install RTM prior to installing Cumulative Updates.
  • Once installed, you can’t uninstall a Cumulative Update nor any of the installed Exchange server roles.
  • The order of installation shouldn’t matter with the β€œevery server is an island” concept, yet recommended is to upgrade internet-facing, non-internet-facing servers first, followed by Edge Transports.

Caution:

As for any update, I recommend to thoroughly test updates in a test environment prior to implementing them in production. When you lack such facilities, hold out a few days and monitor the comments on the original publication or forums for any issues.

Outlook Connectivity changes per Nov2021

In the past, using outdated clients with Microsoft 365 services was a matter of being in an unsupported state with all the risks that go with it. This meant, that things might not work or you could experience reduced functionality. Overall, things usually kept working with a few consequences or glitches here and there.

A change in this stance was announced today per Message Center bulletin MC229143:

To ensure that we meet performance expectations, we are updating the supported versions of Outlook for Windows that can connect to Microsoft 365 services. Effective November 1, 2021, the following versions of Outlook for Windows, as part of Office and Microsoft 365 Apps, will not be able to connect with Office 365 and Microsoft 365 services.

This means, running old unsupported Outlook versions will go from β€œpossible performance and reliability issues” to becoming actively blocked. This block will apply to these versions in the table below; as indicated, these builds were surpassed somewhere in 2017:

ApplicationAffected BuildsBuild Superseded
Office 201315.0.4970.9999
and older
October 2017
Office 201616.0.4599.9999
and older
October 2015
Microsoft 365 Apps for Enterprise
(formerly Office 365 ProPlus)

Microsoft 365 Apps for Business
(formerly Office 365 Business

1705 and olderJune 2017

While it is true that many customers are stretching the lifetime of their on-premises products beyond their support dates, I’m sure – apart from functionality and management options – performance and reliability is becoming more and more of an issue.

Finally, when this notice concerns you, it means you have not been updating your clients for at least 3 years. So, get planning, as you have around 11 months to update your clients. It also may affect any existing plans of moving to Exchange Online in the future, as getting your client-base in a supported state will become a requirement, and will no longer be a serious recommendation.

Security Updates Exchange 2010-2019 (Dec2020)

A quick blog on security updates for Exchange Server 2013, 2016 and 2019 released December 8th. These fixes address the following vulnerability:

Exchange 2016 / 2019

  • CVE-2020-17117: Microsoft Exchange Remote Code Execution Vulnerability
  • CVE-2020-17132: Microsoft Exchange Remote Code Execution Vulnerability
  • CVE-2020-17141: Microsoft Exchange Remote Code Execution Vulnerability
  • CVE-2020-17142: Microsoft Exchange Remote Code Execution Vulnerability
  • CVE-2020-17143: Microsoft Exchange Information Disclosure Vulnerability

Exchange 2013

  • CVE-2020-17117: Microsoft Exchange Remote Code Execution Vulnerability
  • CVE-2020-17132: Microsoft Exchange Remote Code Execution Vulnerability
  • CVE-2020-17142: Microsoft Exchange Remote Code Execution Vulnerability
  • CVE-2020-17143: Microsoft Exchange Information Disclosure Vulnerability

Exchange 2010

  • CVE-2020-17144: Microsoft Exchange Remote Code Execution Vulnerability

The exploits can be fixed by single security update, which you can find in the table below per current Exchange version.

ExchangeDownloadBuildKBSupersedes
Exchange 2019 CU7Download15.2.721.6KB4593465KB4588741
Exchange 2019 CU6Download15.2.659.11KB4593465KB4588741
Exchange 2016 CU18Download15.1.2106.6KB4593465KB4588741
Exchange 2016 CU17Download15.1.2044.12KB4593465KB4588741
Exchange 2013 CU23Download15.0.1497.10KB4593466
Exchange 2010 SP3 RU31 Download14.3.509.0KB4593467

Be advised that these security updates are Cumulative Update level specific. You cannot apply the update for Exchange 2016 CU17 to Exchange 2016 CU16. Also, the security update download has the same name for different Cumulative Updates, and I would suggest tagging the file name with the CU level, e.g. Exchange2019-CU6-KB4588741-x64-en.msp.

Also, run the Security Update from an elevated command prompt, to prevent issues during installation. And on a final note, as with any patch or update, I’d recommend to apply this in a acceptance environment first, prior to implementing it in production.

Security Updates Exchange 2013-2019 (Nov2020)

A quick blog on security updates for Exchange Server 2013, 2016 and 2019 released November 10th. These fixes address the following vulnerability:

  • CVE-2020-17085: Microsoft Exchange Server Denial of Service Vulnerability
  • CVE-2020-17084: Microsoft Exchange Server Remote Code Execution Vulnerability
  • CVE-2020-17083: Microsoft Exchange Server Remote Code Execution Vulnerability

The exploits can be fixed by single security update, which you can find in the table below per current Exchange version.

ExchangeDownloadBuildKBSupersedes
Exchange 2019 CU7Download15.2.721.4KB4588741KB4581424
Exchange 2019 CU6Download15.2.659.8KB4588741KB4581424
Exchange 2016 CU18Download15.1.2106.4KB4588741KB4581424
Exchange 2016 CU17Download15.1.2044.8KB4588741KB4581424
Exchange 2013 CU23Download15.0.1497.8KB4588741KB4581424

Be advised that these security updates are Cumulative Update level specific. You cannot apply the update for Exchange 2016 CU17 to Exchange 2016 CU16. Also, the security update download has the same name for different Cumulative Updates, and I would suggest tagging the file name with the CU level, e.g. Exchange2019-CU6-KB4588741-x64-en.msp.

Also, run the Security Update from an elevated command prompt, to prevent issues during installation. And on a final note, as with any patch or update, I’d recommend to apply this in a acceptance environment first, prior to implementing it in production.

Security Updates Exchange 2013-2019 (Oct2020)

A quick blog on security updates for Exchange Server 2013, 2016 and 2019 released October 13th. These fixes address the following vulnerability:

  • CVE-2020-16969: Microsoft Exchange Information Disclosure Vulnerability
    An information disclosure vulnerability exists in how Microsoft Exchange validates tokens when handling certain messages. An attacker who successfully exploited the vulnerability could use this to gain further information from a user.

    To exploit the vulnerability, an attacker could include specially crafted OWA messages that could be loaded, without warning or filtering, from the attacker-controlled URL. This callback vector provides an information disclosure tactic used in web beacons and other types of tracking systems.

    The security update corrects the way that Exchange handles these token validations.

The exploits can be fixed by single security update, which you can find in the table below per current Exchange version.

ExchangeDownloadBuildKBSupersedes
Exchange 2019 CU7Download15.2.721.3KB4581424KB4577352
Exchange 2019 CU6Download15.2.659.7KB4581424KB4577352
Exchange 2016 CU18Download15.1.2106.3KB4581424KB4577352
Exchange 2016 CU17Download15.1.2044.7KB4581424KB4577352
Exchange 2013 CU23Download15.0.1497.7KB4581424KB4536988

Be advised that these security updates are Cumulative Update level specific. You cannot apply the update for Exchange 2016 CU17 to Exchange 2016 CU16. Also, the security update download has the same name for different Cumulative Updates, and I would suggest tagging the file name with the CU level, e.g. Exchange2016-CU17-KB4581424-x64-en.msp.

Also, run the Security Update from an elevated command prompt, to prevent issues during installation. And on a final note, as with any patch or update, I’d recommend to apply this in a acceptance environment first, prior to implementing it in production.

EWS.WebServices.Managed.Api

A short blog on the EWS Managed API and using the latest version with scripts leveraging Exchange Web Services (EWS), such as my Remove-DuplicateItems script. The installable EWS Managed API library was last updated in 2014 (version 2.2, reports as v15.0.913.22), and there have been few enhancements since then. These are included in the EWS.WebServices.Managed.Api package, which carries version 2.2.1.2.

Although this library was last updated in 2019, you might still need it to successfully run EWS scripts. The EWS.WebServices.Managed.Api package supports some Exchange Web Services calls which are not supported in the 2.2 version, and may lead to error messages like Exception calling β€œFindFolders” with β€œ2” argument(s) or other messages related to the (number of) arguments. This may be an indication a particular call was used to one of the EWS functions, but which is not supported by the installed EWS Managed API library. In those cases, installing this updated library might help.

The library is published on NUGet as a package. To install the package, we first need to register NuGet as a Package Source:

Register-PackageSource -provider NuGet -name nugetRepository -location https://www.nuget.org/api/v2

Next, install the package from the newly defined NuGet source:

Install-Package Exchange.WebServices.Managed.Api

The package installs by default under C:\Program Files\PackageManagement\NuGet\Packages. I have updated my scripts to include this location when searching for the required Microsoft.Exchange.WebServices.dll as well. Alternatively, you can copy this DLL from the ..\Exchange.WebServices.Managed.Api.<Version>\lib\net35 folder to the location where the script resides. When running my EWS-based scripts in Verbose mode, it will report as version 2.2.1.0.

Hopefully this blog will potentially save you some time troubleshooting, and myself answering some support messages. Enjoy!

Ignite: Outlook Calendaring Update

In the Ignite talk Outlook Calendar: Fundamentals and Collaboration, the unequaled Julia Foran laid out tons of new and coming features for the various Outlook platforms in relation to calendaring. You can watch the video on the Virtual Hub.

I tried to capture those in below table. For more information for some of these features, please watch the recording

FeatureWinMacOWAiOSAnd
Personal calendar side-by-side
(Hotmail/Live/MSN, Google)
βœ”βœ”β­βœ”βœ”
Connect Shared & Delegated Mailboxesβœ”βœ”βœ”β­β­
Importing of ICS attachmentsβœ”βœ”β­πŸ•’β­
Calendar To-Do pane (My Day)βœ”β­β­
Calendar To-Do pane showing Tasks (My Day)βœ”πŸ•’
Calendar To-Do pane multiple Months supportβœ”1
Suggested Timesβ”β­βœ”πŸ•’πŸ•’
Advanced Room Finderβœ”1β­βœ”
Room Suggestions for Recurring Meetingsβ­πŸ•’β­β”β”
Room Suggestions showing Room Capabilities
(leverages Set-Place / Places REST API)
β­πŸ•’β­β”β”
Room Suggestions and Policies integration
AllowRecurringMeeting, BookingWindowInDays, EnforceSchedulingHorizon, MaximumDurationInMinutes
πŸ•’πŸ•’πŸ•’πŸ•’πŸ•’
Finding a Workspace
⭐1⭐⭐⭐⭐
Teams meeting quick-join
In-Calendar, Inbox or Search
⭐⭐⭐⭐⭐
Online meetings by default – OutlookπŸ•’β­β­β­β­
Built-in Breaks – End Late
Built-In Breaks – Start Late
Setting roams clients, org-wide config coming soon
βœ”
πŸ•’
πŸ•’β­πŸ•’πŸ•’
Meeting Insights – Outlook
Meeting Insights – Teams
πŸ•’β­
πŸ•’
βœ”
πŸ•’
⭐
❔
⭐
❔
Full Mailbox Delegates
Delegates receive full calendar permissions instead of the organisation (default) permissions
βœ”βœ”βœ”βœ”βœ”
Week Numbers
Setting not roaming yet
βœ”βœ”β­β­β­
Scheduling with time zone selectionβœ”βœ”βœ”β­βœ”
Sync local device calendars
Sync back in progress, controllable with InTune policy
⭐
Flexible Week Viewβœ”βœ”β­βœ”βœ”
Travel detection with time zone adjustmentβœ”βœ”β­βœ”βœ”
Automatic Removal of orphaned attendees
Attendees that left company get removed from meeting after first NDR to organizer.
πŸ•’πŸ•’πŸ•’πŸ•’πŸ•’

Legend
βœ” : Already available
πŸ•’ : Coming
⭐ : New Feature
❔ : Undetermined

Notes
1) Currently available to Office Insiders

Exchange Announcements @ Ignite 2020

Last Update: Added points from Exchange Online Transport – Manage Email, Optics, End User Experiences.

It shouldn’t come as a surprise that this year’s Ignite event is very different than previous years. However what is also different is that at this year’s digital experience, product groups lined up articles and pre-recorded sessions with deep-dive level 300-400 contents as well as articles to accompany those. The sessions, which are available through the Virtual Hub, were all launched right after the start of the event, including the prepared articles. Speaking of a flood flood of contents to digest.

To ease digesting all this information related to Exchange without going through all the videos and blogs, I prepared a summary of all the announcements made at and during Ignite for your reference. For reference, links to the original articles and sessions are at the bottom of this article. The list might not be conclusive; if you find something missing, let me know.

Exchange vNext

  • Exchange Server vNext is scheduled for H2/2021, and will be subscription-based.
  • Will support in-place upgrades from Exchange Server 2019, just like installing another Cumulative Update. Which makes you think, maybe it is just a CU with a high version offset to avoid clashing with its predecessor.
  • Support for this in-place upgrade process is limited to 2 years after release of vNext. If everything goes to plan, this means upgrades will be supported from Exchange 2019 CU11/12-CU19/20 to Exchange vNext RTM-CU8/9.
  • Will support co-existence with Exchange Server 2013, 2016 and 2019, which is 1 down-level more than previous editions (n-3 support instead of n-2).
  • Customers staying on-premises are recommended to upgrade to Exchange Server 2019 today, so they can benefit from an in-place upgrade to vNext when it gets released.
Image Source: Exchange – Here, There and Everywhere

Exchange Online

  • Exchange Online Management PowerShell module is now GA (v2.0.3). This module contains cmdlets leveraging Graph which can show significant performance enhancements in larger tenants, supports certificate-based authentication a.o.
  • Exchange Online Management PowerShell preview module (v2.0.4) supports Linux and PowerShell Core.
  • Cross-tenant migration of mailboxes is now in Public Preview. Separate programs for cross-tenant SharePoint Online and OneDrive for Business will also launched (register for private preview at aka.ms/SPOMnAPreview). An Azure Key Vault subscription is required on the target tenant. Management of these moves is done from PowerShell, after setting things up with some MSFT scripts which you can grab from GitHub here.
Tenant preparation for mailbox migration.
Image Source: Cross-tenant mailbox migration, process overview
Set-OrganizationConfig -AllowPlusAddressInRecipients $true
  • Message Recall to orchestrate recall of message in Exchange Online as announced at Ignite 2019 is expected later this year (Q4/2020).
  • Admins can toggle the new Exchange Admin Center (was already in preview). It will become the default in Q1/2021.
  • The new Exchange Admin Center is also tailored for use on mobile browsers.
  • Outbound mail flow now supports MTA-STS (MTA Strict Transport Security).
  • The new Exchange Admin Center will host all mail flow related management options, which will be consolidated from the earlier Admin Center as well as the Security & Compliance Center.
  • The new Exchange Admin Center will get new mail flow insights and notifications, such as early certificate expiration notifications or detected reply-to-all storms.
  • Option to reduce message expiration timeout interval from the current default of 24 hours.
  • Administrators get the option to block users from moving groups (distribution groups as well as Microsoft 365 Groups) to the BCC line, which might break receivers’ inbox rules (Q1/2021).
  • Entitled organizations can appoint Priority Users. Priority Users are critical mailboxes that are monitored for mail flow issues. Requires minimum of 10,000 Office 365 E3 or E5 or Microsoft 365 E3 or E5 licenses with at least 50 monthly active Exchange Online users.
  • Microsoft 365 Network Connectivity functionality goes into preview, which is accessible via the admin portal (Health > Network Connectivity).
  • The stand-alone Network Connectivity test tool also goes in preview, and is available from connectivity.office.com.
  • Notifications for expired or soon to expire SSL certificates and Domains (Q4/2020).
  • Customizable message expiration (8-24hours, Q4/2020).
  • Reply-to-All storm protection v2 with customizable thresholds and reports (Q4/2020-H1/2021).
  • Client-agnostic improved Message Recall (Q4/2020).

Exchange 2019

  • Exchange Server 2019 Server Role Requirements Calculator or just Capacity Calculator is now available as separate download (v10.5, link).

Exchange Hybrid

  • New Exchange Hybrid Configuration Wizard, which will become available later month, will support connecting your Exchange on-premises environment to multiple tenants. Note that multiple Exchange organizations connecting to a single tenant was already an option, as mentioned in the supported Azure AD Connect topologies document (link).
Image Source: September 2020 Hybrid Configuration Wizard Update – Microsoft Tech Community
  • Multitenancy Exchange Hybrid will support up to 5 tenants.
  • Setting multitenancy up requires Exchange Server 2019 CU7 or Exchange Server 2016 CU18 or later.
  • Multitenancy does not enable SMTP domain sharing, which is logical as you can only setup domain once in Office 365.
  • Exchange Hybrid Modern Authentication (HMA) can only be configured with one single tenant.

Outlook Desktop/Mac

  • Office will get perpetual release (Windows & Mac) in H2/2021.
  • Attendees who left company get removed from meeting after first NDR.

Outlook Mobile

  • Play My Emails coming to Canada, Australia, India and the United Kingdom (Outlook for iOS and Android).
  • Option to ask Cortana to read out emails from specific people, time frame and topics in (Outlook for iOS, September).
  • Voice commands for email composition, calling and scheduling (October).
  • Sync contact folders with your phone by category (October).
  • Reactions to emails with emojis without filling your inbox (Q4)
  • QR connect to simplify work account setup (October).
  • Outlook for Mac will start using Microsoft Sync technology for enhanced performance and reliability. 
  • Widget support for iOS14 across apps.
  • Option to toggle new Outlook for Mac via in-app switch.

References to official sources