How to Retrieve Information About Microsoft 365 Service Incidents

All services suffer outages or incidents. The Service Communications API allow Office 365 tenants to retrieve information about incidents programmatically and report details in whatever way they want. In this post, we show how to use PowerShell to fetch service messages with the API and filter for recent incidents. After that, it’s just a matter of presenting the details.

Why Exchange Online Dehydrates an Organization Configuration

Exchange Online has the Enable-OrganizationCustomization cmdlet to “hydrate” the settings in an organization. Most Exchange Online organizations use common configurations, which saves the Office 365 infrastructure some directory space and CPU cycles to deal with custom settings. A hydrated organization has customized settings. The one-time cmdlet switches organizations from a dehydrated state to a hydrated state. Forcing administrators to run the cmdlet is just a little odd.

New Exchange Online Admin Center Loses Some Magic, But It’s the Future

Microsoft says that the new EAC is ready to use. While we don’t deny the fact, we think some of the magic that existed in previous portals has gone. PowerShell is replaced by the Graph as the foundation for the EAC. Progress happens, but it’s sad when a feature like command logging is left in the mists of the past.

Search the Office 365 Audit Log for Events Performed Against Objects

The Office 365 audit log is a great source of information about what happens inside a Office 365 tenant. Searching the audit log takes practice, but it turns up lots of insight. This article covers how to use the ObjectIds and FreeText parameters to find information about what happens to an object,

Debating the Need for Office 365 Backup

Following some recent criticisms of how some ISVs use FUD to convince Office 365 tenants that they need backup services, AvePoint asked Office 365 for IT Pros to debate the issues. We go toe-to-toe on Wednesday, October 7 at 10 AM EST in a free online debate. Come along and join the fun.

Why Microsoft Extends Office 365 Notification Dates For New Functionality

Microsoft publishes notifications about new Office 365 functionality in the Microsoft 365 message center. Sometimes the dates advertised for the delivery of the new software are pushed out when Microsoft updates the original notifications. All of which means that tenant administrators need to spend a little time tracking updates to make sure that they’re prepared when Microsoft eventually delivers.

Updated Version of the Graph User Statistics Script Available

Office 365 usage data for several workloads is available through the Microsoft Graph. A PowerShell script is available to grab Graph data and use it to figure out if accounts are in active use. V1.2 of GetGraphUserStatisticsReport.PS1 is available in GitHub and should be better performing when processing thousands of accounts.

When a Teams Retention Policy Goes Bad and Data Disappears

A change made to an Office 365 retention policy for Teams personal chats in the KPMG tenant removed data for 145,000 users. That’s unfortunate, and it underlines the need for admins to understand how retention policies work. Maybe the people involve did and it was a simple slip that could happen to anyone, but perhaps it will cause tenant admins to reflect on how they make changes to organization configurations.

Come in Internet Explorer – Your Time is Up

Office 365 Tenants need to stop people using Internet Explorer. On November 30, Teams stops support for IE11; nine months later, the rest of the Microsoft 365 apps cease support. According to Microsoft, the only browser in town is the new Edge (which has an IE mode), but most will keep on using Chrome, Firefox, Brave, or Safari as they do today.

Questioning Six Reasons Why Backing up Office 365 is Critical

The need (or not) for a backup solution for Office 365 data is hotly debated. Although good reasons can exist for buying a backup service, some of the reasons advanced by backup vendors are classic FUD (fear, uncertainty, and doubt). A recent report issued by a major backup vendor contains some points that deserve close examination. Here’s what we think.

Microsoft 365 Admin Center Manages Default Authentication Policy for Exchange Online

The Microsoft 365 admin center includes the ability to manage settings for the default Exchange Online authentication policy. You might have other policies to allow selective access with basic authentication to some protocols; these policies must be managed with PowerShell. Authentication policies are part of the journey to eliminate basic authentication from Exchange Online, now expected to happen in mid-2021.

How to Find and Reassign Orphaned OneDrive for Business Accounts

OneDrive for Business accounts belonging to ex-employees can be reassigned to others during the deletion workflow, but orphan accounts can accumulate over time. This post describes a PowerShell script to find orphan OneDrive accounts and add a user to the site so that anything there can be retrieved.

Office 365 Won’t Block Old Clients But End in Sight for Office 2013

Microsoft posted a reminder that connections from Office 2013 will no longer be supported for Office 365 service from October 13, 2020. Microsoft won’t take any action to block legacy clients, but the writing is on the wall. Office 365 tenants need to decide how to replace Office 2013 by either upgrading to Microsoft 365 apps for enterprise (click to run) or switching to browser clients like OWA.

How to Bulk Assign Policies to Teams Users in Batch Jobs

Teams supports the ability to assign policies to up to 5,000 users with background jobs. This makes it much easier to assign new policies to large groups of users. Unless you like writing your own PowerShell scripts to handle Teams policy assignment, this is definitely something that all Teams administrators need to know about.

How to Disable Chat in Microsoft Teams

You can disable Chat for Teams users, but is this a good idea? Chat is an integral part of Teams and disabling it seems like a bad idea for many reasons, not least being compliance as all you’ll do is drive users to find another way to communicate – like WhatsApp.

Sensitivity Label Properties in SharePoint Search Schema

Sensitivity labels are spreading across Office 365. Now you can search SharePoint Online to find documents with a specific label. And if you make an extra tweak to the search schema, you can find labeled sites too. All of which seems boring and uninteresting until you actually need to do it.

How Stream Handles Deleted Users

Microsoft Stream administration include a Manage deleted users option. However, you can’t manage a deleted user until all trace of their account has been removed from Azure AD, which means that you usually must wait 30 days for an account to be hard-deleted. It’s logical, but not in a good way.

How to Make Sure That You Use the Latest Office 365 PowerShell Modules

Many PowerShell modules are available for Office 365 applications. Keeping them up to date can be a pain, so here’s a PowerShell script to automate the task. Using the latest modules means that you can access new and updated cmdlets, which might make all the difference to your scripts.

Updates for Groups Management in Microsoft 365 Admin Center

The Groups section of the Microsoft 365 admin center has been overhauled recently and several useful changes were made. Restore deleted groups is the headline act, but the other updates also deliver value. Collectively, they make Groups easier to manage.

How to Generate an Email Report About Deleted Stream Videos

Microsoft Stream doesn’t support Office 365 retention policies, so you can’t make sure that videos are kept for eDiscovery or compliance purposes. But a little lateral thinking and some PowerShell code quickly gives us a solution based on events from the Office 365 audit log, including emailing the report to someone designated to review videos before final deletion.

Teams is the Most Difficult Office 365 Application to Backup

Because it sits on top of so many Microsoft 365 components, Teams is easily the hardest Office 365 workload to backup. You can try to backup Teams by copying its compliance records stored in Exchange Online, but that’s only a partial (and bad) solution that utterly fails to take the full spectrum of Teams data into account.

Microsoft Automates Easing of EWS Throttling for Migrations

Many migration projects use Exchange Web Services (EWS) to move data to Exchange Online. EWS is using throttled to preserve resources. Here’s how to lift the restrictions for up to 90 days, all without going near a support call.

How to Configure OWA, Outlook Mac, and Outlook Mobile to Create Online Meetings by Default

Changes coming in May and June will allow organizations to make online meetings the norm when created by OWA or Outlook mobile clients. You can control the feature at the organization level and allow individual mailboxes to override the organization setting.

Use Office 365 Audit Data to Highlight Unused Permissions

I’ve written many articles to explain how to use the Office 365 audit log to report different aspects of the platform. But taking action is much better than just reporting. In this post, we explain how to take a report generated from the Office 365 audit log and use it to drive some actions. In this case, removing the SendAs permission from people who aren’t using it.

OneDrive for Business and its Unlimited Storage

Microsoft’s service description for OneDrive for Business promises “beyond 1 TB, to unlimited” storage. In reality, most enterprise Office 365 accounts have 5 TB storage and won’t need to go further. But you can… first to 25 TB and then even more in the form of SharePoint sites. You just have to talk nicely to Microsoft support.

Teams Improves Analytics in Desktop and Browser Clients

An item in the Teams release notes tells us that analytics are now available for channels. You can find out how many topics and replies are posted within a channel. You’ll probably know what channels are in heavy use anyway, but seeing how little traffic some channels get is a good way of knowing that maybe your teams don’t need those channels.

Use the Office 365 Audit Log to Find Who Updated a Document

Do you need to find out who updated a SharePoint Online or OneDrive for Business document? Use PowerShell to search the Office 365 audit log for document events and the complete history is available. Well, at least the last 90 days’ history – or 365 days if you have the necessary licenses.

Updated Usage Reports in the Microsoft 365 Admin Center

Several updates are available for the standard usage reports in the Microsoft 365 Admin Center. One helps Office 365 tenants understand the changed user activity profile due to remote working. Another gives views of user activity across the complete tenant. The updates are useful and interesting, but an ISV product will do a better job of analyzing and reporting the same data.

How to Manage the Set of Teams Apps Available to Users

The Teams Admin Center now includes a Manage Apps page to allow administrators to view the complete inventory of apps available to Teams. Administrators can decide if they want to make apps available to users via Teams app setup policies or block the installation of apps. Each app has a publisher and certification status, but not many apps have been through the full “Microsoft 365 certified” process, including many of Microsoft’s own apps.

Teams Updates Default Meeting Policy to Enforce External Lobby

Microsoft is updating the Teams default meeting policy to enforce lobby entry for external users. Sounds good, but what does this mean? This post explains what happens and how Microsoft is able to update the default meeting policy for many tenants while not affecting the tenants who have customized their default meeting policy.

Stopping Users Updating OWA Autosignatures

If an Office 365 tenant goes to the bother of creating nice OWA autosignatures for users, shouldn’t we also removed the ability to edit the signatures in OWA settings? RBAC seems like the right way to do the job, but in this case, the way RBAC restricts options by removing the right to run cmdlets or parameters means that the block affects other OWA settings. Fortunately, the Exchange developers thought of this and provide an option in OWA mailbox policies to save the day.

Faster PowerShell ForEach Loops to Process Office 365 Data

PowerShell is a great way to get work done with Office 365 data. The downside is that PowerShell can sometimes be slow, which is why we look for ways to speed things up, especially when dealing with some of the “heavier” cmdlets like Get-UnifiedGroup. The good news is that switching loops to use the ForEach method can speed things up. The bad is that you might only squeeze an extra 5% performance out of your code. Is that enough to bother? Your call…

How to Report Who Uses SendAs Permission to Send from an Exchange Online Mailbox

Exchange Online mailboxes support SendAs, Send on Behalf Of, and FullAccess permissions. A previous script focused on the FullAccess permission. This version covers all three. It’s also a good example of how you need to pay attention to property sets when writing PowerShell code to use the new Exchange Online REST-based cmdlets.

How to Generate a SharePoint Online Site Usage Report with PowerShell

SharePoint Online comes with a reasonable amount of free storage, but it’s surprising how quickly that storage can be consumed, especially if you use Office 365 retention policies. With that thought in mind, it’s a good idea to check what sites are consuming your SharePoint storage. This post covers how to write a PowerShell script to report SharePoint Online site storage, complete with a couple of bells and whistles.

Quick and Easy Office 365 License Assignment Report

Office 365 licenses can seem complex, especially when you descend to the level of multi-product license plans. PowerShell makes it easy to generate a quick and simple report of who’s been assigned which license. And best of all, because the code is PowerShell, you can amend it to your heart’s content.

How to Create a Report About Exchange Online Mailbox Permissions

Exchange Online makes it easy to assign delegated permissions for user and shared mailboxes. But permissions assigned to people might not be still necessary, so it’s good to do a periodic check. In this post, we describe a script to scan for permissions on Exchange Online user and shared mailboxes and highlight non-standard permissions in a report generated as a CSV file.

Why Default Mailbox Auditing for Exchange Online Isn’t Quite as Good as It Seems

Exchange Online enables mailbox auditing by default, which should mean that audit events get to the Office 365 audit log for all E3 and E5 mailboxes. Well, that’s what you might thing but that’s not what happens. Mailbox events for E5 mailboxes arrive just fine, but you must reenable E3 mailboxes for auditing before their events flow. It’s a bizarre situation.

Azure Active Directory Sign-On Gets a New Look

Azure Active DIrectory is getting a slimmed-down background image to help with bandwidth-constrained locations. Office 365 tenants with custom backgrounds won’t see the change. Customizing the appearance of the sign-in screen is easy if you prepare. And to finish up, we have pointers to a set of videos about how Azure Active Directory authentication works.

Why Basic Authentication for Exchange Online is So Bad

Some doubt that Exchange Online will disable basic authentication for five email connection protocols in October 2020. The refrain is that it will be too hard for customers. Well, it might be hard to prepare to eliminate basic authentication, but if you don’t, your Office 365 tenant will be increasingly threatened by attacks that exploit known weaknesses.