When AAD, EXO and MS Teams creating a mess

I’m dealing with these issues already for a long time. But meanwhile, after a couple of support cases, the fog seems to lifting.

When you don’t have the following setup, you can stop reading:

  • create accounts for partners in your on-premises Active Directory (AD)
  • sync these accounts to Azure Active Directory (AAD)
  • Exchange RecipientType is MailUser
  • you assign one of the following licenses:
    • Customer Lockbox (in combination with SPO)
    • Microsoft 365 Advanced Auditing

For the others, feel free continue reading. It might open your eyes for some issues your facing.

Continue reading

ApplicationAccessPolicy for EWS

I’m really excited about the fact that Microsoft fulfilled the ask for supporting Exchange Web Services (EWS) protocol in ApplicationAccessPolicy as announced here:

https://techcommunity.microsoft.com/t5/exchange-team-blog/application-access-policy-support-in-ews/ba-p/2110361

Unfortunately Microsoft seems to make it harder for you to add EWS permission full_access_as_app to your app.

Continue reading

Update delegate collection challenge

A few days ago, I was approached by some Executive Support colleagues. The had to handle a lot of mail items in shared mailboxes. One issue the came across, was the fact that they had to move items and delete folders, but couldn’t as the folders contained private items.

Note: Don’t get me started about the use case “Private Items”! It doesn’t gives you any security value as it’s only honored by a few clients!

Well, back to the topic…I’m aware of this behavior and there is also a KB article about this topic:

“Cannot copy this folder because it may contain private items” error in Outlook

Since the shared mailbox is in M365 and the fasted way with least effort was to add the permissions for this user using Add-MailboxFolderPermission and make use of parameter -SharingPermissionFlags.

That’s what I thought and then run into this…

Continue reading

The future of Exchange Online automation with EXOv2

I know that this topic is really a topic with gets high attention.At the moment there is nothing available in Microsoft Graph, which would make it possible to manage objects in Exchange Online.

The few things, which exists, are more for end-user (e.g.: accessing their e-mails, calendar or tasks) and for auditing and reporting (e.g.: Security API). Nothing available for managing a mailbox permissions or attributes. Not even like simple CustomAttribute1-15.

Now Microsoft released a new Exchange Online PowerShell module: EXOv2.

Continue reading

Microsoft Graph, Exchange Online and the lack of proper logging

Microsoft Graph is gaining more and more attention by developers. Also due to the fact of deprecation of Basic Authentication (please read more about this here!), many are shifting to the new protocol.

I welcome this change, but what I just came across is something I don’t like:

A colleague opened a ticket and complained about something is modifying his calendar items. So far, I saw this an easy task and used my Get-CalendarItems script, but I had to learn not everything is logged, when Microsoft Graph is used…

Update August, 12 2020

I got word that the multi-geo issue will be addressed. No ETA as of now. But at least for calendar items a fix is currently rolling out. Now the used AppID is logged:

The only drawback: Looks like every component team is doing their own thing. That’s why we don’t see proper entries on the item in the Sent Items folder.

Continue reading

EXO V2 module, earlier .NET versions and pesky TLS1.0/1.1

It’s been a while that the new module for managing Exchange Online using PowerShell.If not yet aware, please check out how to Use the Exchange Online PowerShell V2 module.

It’s not perfect (yet!), but huge improvements and Microsoft is working hard to get the module improved.

On my transition to the new module, I was made aware of connectivity issues by some colleagues:

New-ExoPSSession : An error occurred while sending the request..
At C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\0.3582.0\ExchangeOnlineManagement.psm1:401 char:30…

PSSession = New-ExoPSSession -ExchangeEnvironmentName $ExchangeEnviro …

But the issue existed ONLY when using the parameter -Credential

Continue reading

Decommissioning flaw in Exchange

This post is lingering around for a while as I thought it would be fixed some days. Unfortunately it wasn’t fixed as of today, so be aware in case you’re going to decommision your Exchange servers. In particular:

Removing databases.

The need of removing databases can have multiple reasons. In my case it was the next logical step in our journey to Exchange Online.

Continue reading

When path is too long

Last weekend I run into an issue, where due to missing disk space availability my server run into back pressure.

Exchange has a feature, which will move the current mail queue file and the respective log files to another folder. This happens when transport service detects an issue with the current queue and is called QueueDatabaseRecoveryAction.

Continue reading

The end is near (for legacy auth)!

Microsoft announced first the deprecation of Basic Authentication for Exchange Online and EWS protocol starting Oct. 13, 2020 here.

Note: At this time this affected ONLY the protocol EWS for mailboxes on Exchange Online!

Later it was announced that this also happens for other protocols like Exchange Active Sync (EAS), POP, IMAP and PowerShell at the same time here, in order to improve security.

Looking at the protocols, you might wonder about REST. This was announced for REST API v1.0 shortly after the announcement for EWS here and highlighted again here.

With this, there is no doubt that Basic Authentication is dead for Exchange Online and Microsoft Graph and every vendor should look into alternatives for authentication AND also update their products. There are still way too many products without support of Modern Auth.

The deprecation of Basic Authentication raises a few questions:

  • How can I access mailboxes with my service account?
  • My application needs access to all or only a subset of calendars. How can I securely configure this?
  • I need to Send-As or Send-on-Behalf of recipients’ e-mail addresses. What do I have to configure?

In this post I’m trying to cover some scenarios and try to explain advantages and disadvantages.

Note: This article is ONLY covering OAuth and Exchange Online! I assume you’re using a Bearer token for authentication in your request!

Continue reading

Compliance bug in Exchange Online

Last week fellow MVP Vasil Michev (his very valuable blog can be found here!) stumbled across a post on Spiceworks, related to compliance feature in Exchange.

After some testing, i was able to reproduce the issue as well. As this is really a severe bug, a SevA case was opened at my companies account.

You can read and get the full details on Tony’s post here.

Note: I’ve tested this in my companies environment with the same Outlook client against Exchange 2016 CU14 and couldn’t reproduce the issue.

Once we have the root cause for this issue, you will be informed. Until then I can only recommend to open a ticket with MS.