ThisCalculator

Everyday

EAC vs Exchange Online PowerShell: Which to Use?

Updated · Standard formula, shown below

The calculator for this page is switched off while it is checked. The formula is below, and the worked example in the article shows how to use it by hand.

EAC vs Exchange Online PowerShell: Which to Use?

Exchange admin center (EAC) and Exchange Online PowerShell are both management tools for Microsoft 365 mailboxes, but they serve different purposes: use the EAC for everyday, one-off tasks and quick visual checks, and use PowerShell for bulk operations, automation, and settings the EAC doesn’t expose. The right choice depends on the task, your comfort with scripting, and whether you need repeatability. This article explains what each tool does, where they overlap, and how to decide which one fits a given administrative job.

Background: Two Ways to Manage the Same Exchange Online Service

Exchange Online is the hosted email service in Microsoft 365. Microsoft provides two primary management interfaces: the web-based Exchange admin center (EAC) and the Exchange Online PowerShell module (often called EXO V2). Both talk to the same backend service, so changes made in one appear in the other. The EAC is a graphical interface that runs in a browser, while PowerShell is a command-line environment that connects to Exchange Online using a module like ExchangeOnlineManagement. The EAC is designed for human interaction—clicking through menus, viewing lists, and editing individual objects. PowerShell is designed for scripting—running commands that can be repeated, combined, and scheduled. Historically, the EAC was the default for new admins, but Microsoft has been pushing PowerShell for advanced scenarios because it gives access to every property and setting, including many that the EAC doesn’t show.

How the EAC Works and What It’s Good For

The EAC is the modern web interface for Exchange Online. You reach it by signing in to the Microsoft 365 admin center and clicking the Exchange tile, or by going directly to admin.exchange.microsoft.com. It organizes tasks into sections: Recipients, Mail flow, Policy, and more. You can create mailboxes, add aliases, set forwarding, manage retention policies, and configure transport rules. The EAC is ideal for:

  • Quick changes to a single mailbox, like adding a delegate or changing a display name.
  • Visual review of mailbox settings, permissions, and mail flow rules.
  • Tasks you do rarely, where writing a script would take longer than clicking.
  • Admins who are not comfortable with command-line tools.

The EAC shows a summary of each mailbox—size, last sign-in, email address—and lets you edit multiple mailboxes by selecting them and using the bulk edit pane. However, the EAC has limitations: it can’t show every property, it doesn’t support complex filtering, and it doesn’t allow you to save a set of actions as a reusable script.

How Exchange Online PowerShell Works and What It’s Good For

Exchange Online PowerShell uses the ExchangeOnlineManagement module, which you install from the PowerShell Gallery. After connecting with Connect-ExchangeOnline, you run cmdlets like Get-Mailbox, Set-Mailbox, Get-EXOMailbox, and New-InboxRule. The module supports modern authentication, including MFA. PowerShell is the only way to automate tasks, and it exposes properties that the EAC hides. For example, you can retrieve the LitigationHoldEnabled flag, set MessageCopyForSentAsEnabled, or configure a mailbox’s MaxReceiveSize—all without touching the web UI. PowerShell is also essential for:

  • Bulk operations: change the department for 500 users, add a proxy address to every mailbox in a domain.
  • Reporting: export mailbox sizes, last logon times, or permissions to CSV.
  • Scheduled tasks: run a script nightly to disable inactive mailboxes.
  • Complex filtering: use Where-Object to select mailboxes with a specific custom attribute.

The learning curve is steeper, but once you’re comfortable with cmdlets, you can do in minutes what would take hours in the EAC.

Choosing the Right Tool for the Task

There is no single correct answer; the best tool depends on the job. Here’s a practical decision guide:

  • One mailbox, one change → EAC. It’s faster to click than to write a command.
  • Many mailboxes, same change → PowerShell. Use a script with a filter, e.g., Get-Mailbox -RecipientTypeDetails UserMailbox | Set-Mailbox -MaxSendSize 25MB.
  • Need to see all properties → PowerShell. The EAC only shows a subset.
  • Creating a new user mailbox → EAC is fine, but PowerShell is better if you need to set many attributes at once.
  • Automation or scheduled jobs → PowerShell. The EAC has no built-in scheduler.
  • Auditing or reporting → PowerShell. Export to CSV with Export-Csv.

A common misconception is that you must choose one or the other. In practice, most admins use both: the EAC for quick checks and PowerShell for heavy lifting. You might use the EAC to visually confirm a change you made via PowerShell, or use PowerShell to verify a setting that the EAC doesn’t display.

Common Problems and How to Avoid Them

Both tools have pitfalls. With the EAC, the biggest issue is that some settings are buried or absent, leading admins to think they can’t be changed. For example, the EAC doesn’t show the EmailAddressPolicyEnabled property, but PowerShell does. Another issue is that the EAC sometimes applies changes slowly due to caching; refreshing the page usually fixes it. With PowerShell, common problems include:

  • Connection errors — Make sure you have the latest module and that your account has the right permissions (Exchange Administrator or Global Administrator).
  • Using the wrong cmdlet — There are two sets: Get-Mailbox (from the older module) and Get-EXOMailbox (from the newer module). They differ in performance and available parameters. The EXO cmdlets are optimized for remote operations.
  • Formatting issues — Output can be truncated. Use Format-List or select specific properties with Select-Object.
  • Accidental bulk changes — Always test with a filter that returns a small set first, or use -WhatIf to preview changes.

Another common mistake is mixing up the EAC and the Microsoft 365 admin center. The EAC is specifically for Exchange Online; the M365 admin center handles users, licenses, and other services. You can create a mailbox from the M365 admin center, but for detailed Exchange settings you need the EAC or PowerShell.

Costs and Licensing Considerations

Both tools are included with any subscription that includes Exchange Online, such as Microsoft 365 Business Basic, Standard, or Enterprise plans. There is no extra cost for using PowerShell; it’s a free module. However, there are indirect costs: time to learn PowerShell, and the risk of errors if you’re not careful. The EAC has no learning curve for basic tasks, but it can be slower for repetitive work. For organizations with many mailboxes, investing time in PowerShell training often pays off in reduced admin time. Also, some advanced features—like litigation hold or retention policies—may require a specific license (e.g., Exchange Online Plan 2), but that applies regardless of whether you use the EAC or PowerShell.

Safety and Best Practices

When using PowerShell, you have the power to make sweeping changes, so follow these safety practices:

  • Always use -WhatIf before running a command that modifies objects. For example, Set-Mailbox -Identity user -MaxSendSize 25MB -WhatIf shows what would change without applying it.
  • Use -Confirm to require confirmation for each object in a pipeline.
  • Test scripts on a small set of test mailboxes first.
  • Keep a backup of your scripts and document what they do.
  • Use the least-privilege principle: only assign Exchange Administrator to those who need it.

Related

Formula used

Each line is one input (in, sel, list) or one result (out: label, unit, formula, decimals). How the calculators work

Method: the standard formula for this calculation, rounded as each result states. See how the calculators work or report an error.