Ms Exchange Online



This is a General Availability (GA) release of Exchange Online PowerShell V2 module.
Please check the documentation here - https://aka.ms/exops-docs.
For issues related to the module, contact Microsoft support.

Minimum PowerShell version

3.0

Exchange Online Exchange Online is Exchange Server delivered as a cloud service hosted by Microsoft itself. It is built on the same technologies as on-premises Exchange Server, and offers essentially the same services as third-party providers which host Exchange Server instances. Some features of Microsoft Exchange Server accounts depend on the version of Exchange that your account connects to. An example is Online Archive, which requires Microsoft Exchange Server 2010. How can I tell if I have a Microsoft Exchange Server account? Click the File tab. Click Account Settings, and then click Account Settings. The Microsoft Exchange Online Protection is a cloud-based filtering service that helps protect your company against spam and malware. For your on-site exchange organization or for any other on-site SMTP email solution.

There is a newer prerelease version of this module available.
See the version list below for details.

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name ExchangeOnlineManagement -RequiredVersion 2.0.3

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deploy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More

Author(s)

Microsoft Corporation

Copyright

(c) 2020 Microsoft. All rights reserved.

Package Details

Owners

Tags

Cmdlets

Functions

Dependencies

This module has no dependencies.

Release Notes


---------------------------------------------------------------------------------------------
Whats new in this release:
v2.0.3 :
1. General availability of Certificate Based Authentication feature which enables using Modern Authentication in Unattended Scripting or background automation scenarios.
2. Certificate Based Authentication accepts Certificate File directly from terminal thus enabling certificate files to be stored in Azure Key Vault and being fetched Just-In-Time for enhanced security. See parameter Certificate in Connect-ExchangeOnline.
3. Connect with Exchange Online and Security Compliance Center simultaneously in a single PowerShell window.
4. Ability to restrict the PowerShell cmdlets imported in a session using CommandName parameter, thus reducing memory footprint in case of high usage PowerShell applications.
5. Get-ExoMailboxFolderPermission now supports ExternalDirectoryObjectID in the Identity parameter.
6. Optimized latency of first V2 Cmdlet call. (Lab results show first call latency has been reduced from 8 seconds to ~1 seconds. Actual results will depend on result size and Tenant environment.)
---------------------------------------------------------------------------------------------
Previous Releases:
v2.0.1 :
1. Support for App-Only Authentication -
Automate your day-to-day exchange management tasks using app-only authentication. This requires setting up an Azure AD app and connecting to Exchange using certificate. Check out https://aka.ms/AzureAD-app for setting up the App and initial onboarding experience.
Use below syntax for establishing the connection -
Connect-ExchangeOnline -AppID '<AppId of client ID of the AAD app>' -Organization 'contoso.onmicrosoft.com' -CertificateFilePath '<Full path of the certificate>' -CertificatePassword '<a secure string password if the certificate file is encrypted>'
v1.0.1 :
1. This is the General Availability (GA) version of EXO PowerShell V2 Module. It is stable and ready for being used in production environments.
2. Get-ExoMobileDeviceStatistics cmdlet now supports Identity parameter.
3. Improved reliability of session auto-connect in certain cases where script was executing for ~50minutes and threw 'Cmdlet not found' error due to a bug in auto-reconnect logic.
4. Fixed and 'MailboxFolderUser' for easy migration of scripts.
5. Enhanced support for filters as it now supports 4 more operators - endswith, contains, not and notlike support. Please check online documentation for attributes which are not supported in filter string.
v0.4578.0 :
1. Added support for configuring Briefing Email for your organization at the user level with 'Set-UserBriefingConfig' and 'Get-UserBriefingConfig' cmdlets.
2. Support for session cleanup using Disconnect-ExchangeOnline cmdlet. This cmdlet is V2 equivalent of 'Get-PSSession | Remove-PSSession'. In addition to cleaning up session object and local files, it also removes access token from cache which is used for authenticating against V2 cmdlets.
3. You can now use FolderId as identity parameter in Get-ExoMailboxFolderPermission. You can get folderId using Get-MailboxFolder cmdlet. Below are the supported syntax for getting folder permissions -
a. Get-MailboxFolderPermission -Identity <UPN>:<Folder-Path>
b. Get-MailboxFolderPermission -Identity <UPN>:<Folder-Id>
4. Improved reliability of Get-ExoMailboxStatistics cmdlet as certain request routing errors which led to failures have been resolved
5. Optimized memory usage when session is created by re-using any existing module with a new session instead of creating a new one every time session is imported
v0.4368.1 :
1. Added support for Exchange Online Protection (EOP) cmdlets using 'Connect-IPPSSession' cmdlet
2. Hide announcement banner using 'ShowBanner' switch. Default value of this switch is $true. Use below syntax to hide the banner
'Connect-ExchangeOnline -ShowBanner:$false'
3. Terminate cmdlet execution on client exception
4. RPS contained various Complex data types which was consciously not supported in EXO cmdlets for improving the performance. Differences in non-complex>FileList

Ms Exchange Online Protection

  • ExchangeOnlineManagement.nuspec
  • Microsoft.Exchange.Management.AdminApiProvider.dll
  • Microsoft.Exchange.Management.ExoPowershellGalleryModule.dll
  • Microsoft.Exchange.Management.RestApiClient.dll
  • Microsoft.IdentityModel.Clients.ActiveDirectory.dll
  • Microsoft.OData.Client.dll
  • Microsoft.OData.Core.dll
  • Microsoft.OData.Edm.dll
  • Microsoft.Online.CSE.RestApiPowerShellModule.Instrumentation.dll
  • Microsoft.Spatial.dll
  • Newtonsoft.Json.dll
  • System.IO.Abstractions.dll
  • System.Management.Automation.dll

Version History

Exchange Online Plans

VersionDownloadsLast updated
2.0.5-Preview1 100 4/21/2021
2.0.4 338,808 2/5/2021
2.0.4-Preview9 1,908 1/19/2021
2.0.4-Preview8 151 1/4/2021
2.0.4-Preview6 20,739 11/6/2020
2.0.4-Preview2 21,398 9/22/2020
2.0.3 (current version) 425,316 9/21/2020
2.0.3-Preview 7,882 6/30/2020
1.0.1 241,885 6/3/2020
0.4578.0 517,748 4/16/2020
0.4368.1 23,166 3/30/2020
0.3582.0 39,185 2/10/2020
0.3555.1 13,567 1/22/2020
0.3374.11 11,846 1/15/2020
0.3374.10 5,348 12/27/2019
0.3374.9 17,322 11/26/2019
0.3374.4 7,518 10/31/2019
0.3374.1 664 10/25/2019
0.3374.0 430 10/22/2019
Show less

This full step-by-step guide is available as a PDF. Please click here to download!

If you are planning an Exchange to Office 365 migration, then it can be quite confusing to understand the steps you need to take and in which order.

In this article, we’ll walk through the steps and decisions you need to take when migrating to Exchange Online. In part one we’ll consider the two most important first steps – deciding upon a migration approach and performing the core steps for identity. In part two, we’ll perform the Exchange Hybrid configuration and perform the migration of Mailboxes.

And, although we’re going to cover a lot of information in a short amount of time, you’ll find detailed guidance linked throughout.

Preparing your Exchange to Office 365 Migration

Before you begin a migration, it’s important to make sure that the source environment you are migrating from is in a good state.

If the Exchange environment you are running today isn’t healthy, then often that can serve as the motivator to move. After all, what can be an easier solution to bad day-to-day Exchange performance than moving to Office 365?

Unfortunately if you are experiencing day-to-day issues with Exchange, such as user issues accessing Exchange remotely, error messages and slow access times to mailboxes – or worse, database corruption – then moving to Office 365 will most likely be another source of trouble; not just for people accessing the environment you are trying to migrate from, but also when migrating as it’s likely you’ll experience failures along the way.

Your first step before beginning a migration should be to ensure that the environment is reasonably error free and correct any underlying issues prior to migration.

Ms Exchange Log In

Read More: Patching your Exchange Environment

Hybrid migration or tool-based migration?

If you are thinking about moving your Exchange environment to Office 365 then you’re probably aware there are many options available.

From Microsoft, you have options for a Staged Migration and a Cutover Migration as well as a Hybrid Migration, and from third-party vendors a large number of different tools on the market for email archive migrations.

Dead island mac download free. In general, if you have a version of Exchange Server that’s supported by Microsoft (Exchange Server 2010 and above) and it is part of your Active Directory then your default option should be an Exchange Hybrid Migration.

An Exchange Hybrid is based on either minimal or full Exchange Hybrid and creates a relationship between your on-premises Exchange servers and Exchange Online. This allows native mailbox moves, similar to between on-premises Exchange servers, with Outlook clients natively switching over without even needing to re-download offline copies of email. With full Hybrid, this also extends to secure mail flow between the two environments and co-existence functionality like free/busy and calendar sharing.

Azure AD

Azure AD Connect complements Exchange Hybrid, and you should expect to use Hybrid if you plan to synchronize your identity to the cloud. Azure AD Connect synchronizes your local Active Directory domain to Office 365, creating a copy of local AD accounts in Azure Active Directory that link back to the master copies. Azure AD Connect is also the part of the puzzle that maintains a consistent Global Address List between on-premises and the cloud.

Because AD and Azure AD Connect understand when there’s an existing Exchange organization in place, existing mailboxes on-premises won’t have mailboxes created in Office 365. You’ll be expected to use Exchange Hybrid to move mailboxes.

Ms Exchange Online

With a tool-based migration, the same rules do not apply. A fully Microsoft-supported Exchange Hybrid migration provides an excellent experience. However, especially in multi-forest environments it can be complex to set up correctly, hosted environments often do not allow for Azure AD Connect or Exchange Hybrid to be configured; and if you have legacy versions of Exchange it can involve installing additional servers running Exchange 2010 or higher which include the Hybrid components. Therefore, there are valid uses for a bespoke tool to migrate email to Office 365 – but in this article, we’ll assume you’ve made the decision to use Exchange Hybrid.

Read More: Methods for migrating to Office 365

Understanding pre-requisites and dependencies

Once you’ve decided that migrating to Office 365 using Exchange Hybrid is suitable for your organization, and you have a healthy environment to migrate, then you need to ensure you’ve completed necessary planning activities.

Many organizations who begin this journey will at this point ensure they have a design in place to support the changes that will take place. However, as you aren’t designing Office 365 or Exchange Online and instead designing the bridge to Office 365 then the design is often not as detailed as a full Exchange migration.

Instead, you are focusing on the changes necessary to your existing environment to make sure it is ready for the changes. In this article, we won’t cover this, but it’s worth remembering that most organizations, large and small, don’t just head into the unknown without making plans first.

The key pre-requisite for migrating to Exchange is ensuring the correct identity model is in place, first. There is a variety of options available when choosing an identity, but the most common scenario will be to utilize Azure AD Connect with synchronized identities and password hash sync.

Prior to this, we’ll perform a number of key tasks.

First, we’ll ensure that we’ve added all of our custom domains to our Office 365 tenant. These will need to match the email domains we use on-premises:

<Portal Domain

To add a new domain, choose <Path> and Add Domain. You’ll need to follow the steps, and verify each domain using a TXT record, similar to the one shown below:

Use your DNS provider’s control panel to add the corresponding TXT record to each domain, then continue the verification process.

Once you reach the point to add additional DNS records, it’s important you choose to Skip adding records such as Autodiscover or MX record changes.

This is crucial because at this point in the process your email is still looked after by on-premises systems, and you do not want to redirect clients to Office 365. The Hybrid relationship we create will manage this for us, later on.

We’ll sign-in to Office 365 using a login ID in the same format as an email address. In an Exchange Hybrid relationship, we expect this to match the Active Directory UserPrincipalName for each user. However, in many organizations, the login IDs are not in a format that will be suitable

Ms Exchange Online Powershell

On-Premises Login IDOn-Premises UserPrincipalName Primary SMTP addressResulting Office 365 Login ID
CONTOSOusernameusername@contoso.localusername@contoso.comusername@contoso.onmicrosoft.com

In the above example, the issue is with the UserPrincipalName (UPN) suffix – the contoso.local part that typically matches the full AD Forest Name. To resolve this, we’ll add a UPN suffix to match our email domains registered with Office 365 in Active Directory Domains and Trusts:

We’ll then update the UserPrincipalName value for each user using Active Directory users and computers (or, ideally, PowerShell) to match the email address:

In most cases, this will not cause any user issues with sign-in, as nearly all organizations still expect users to login with the Pre-Windows 2000 / CONTOSOusername format. However, you should always validate this before making changes. After making these changes, the formats for login IDs will be similar to below:

On-Premises Login IDOn-Premises UserPrincipalName Primary SMTP addressResulting Office 365 Login ID
CONTOSOusernameusername@contoso.comusername@contoso.comusername@contoso.com

We’ll also run the Microsoft IDFix tool against the domain. This step will highlight other issues within your Active Directory relevant to the domain sync. IDFix identifies errors, such as invalid email addresses (known as Proxy Addresses), invalid characters in usernames and other data and common issues, like using an invalid UPN suffix.

Use the list of issues identified by ID to make the corrections recommended, then install Azure AD Connect. In the example below, we’ve chosen Use Express Settings:

We’ll then follow the wizard steps to connect both as a global administrator to our Azure AD/Office 365 tenant, and to our local Active Directory. You’ll remember above though we added an additional UPN suffix to our local AD due to it not being a valid domain to use with Office 365. This will be highlighted during the installation wizard, however, because we’ve dealt with this it will be safe to continue:

Because we chose the Express Settings the wizard has pre-selected that we’ll use Password hash synchronisation. Our final choice is to ensure that an Exchange Hybrid Deployment is selected before beginning the install. This will ensure Azure AD Connect writes-back Exchange-related attributes to our local AD:

Once initial synchronization completes, you should be able to access the Microsoft 365 Admin Center and navigate to Users>Active Users and see synchronized accounts. You’ll see your AD users with a Sync Type of Synced with Active Directory:

Canva download mac free. Further Reading:

Other areas you’ll need to consider

In addition, before you migrate mailboxes to Office 365, you need to consider other pre-requisites. Key areas you need to consider include:

Legacy Archiving

If you currently use a solution like Veritas Enterprise Vault for archiving or journaling email then this configuration will not work as-is with Office 365. Instead, the most common approach is to move archives to Exchange Online after migrating mailboxes.

In this scenario, stubs (or shortcuts, to use the EV term) will be re-hydrated with the original archive messages; or moved to archive mailboxes in Exchange Online. Quadrotech’s Archive Shuttle can handle this task and works well with an Exchange Hybrid migration.

Outlook clients

You’ll need to run a supported version of Outlook when connecting to Office 365. The following versions of Outlook are supported:

  • Office 365 ProPlus
  • Outlook 2019
  • Outlook 2016
  • Outlook 2013
Exchange

Ideally, use the newest version (Office 365 ProPlus) that you have available. Outlook 2013, 2016 and 2019 will work with Office 365. If you are running Outlook 2010 today, then this can work with Exchange Online but for security reasons you will most likely want to block the protocols it uses.

Mobile devices

If you use Microsoft ActiveSync today to connect to Exchange on-premises, then you can allow mobile devices to continue to use this protocol when connecting to Exchange Online. Expect though in all but the most unusual circumstances to need to reconfigure ActiveSync devices to work with Exchange Online.

Instead, consider deploying the new Outlook mobile client to devices. If you choose to move to Microsoft Intune, then you can also use Intune to deploy and configure the new Outlook client. This supports additionally functionality to ActiveSync including the ability to schedule Teams meetings directly from the client, and new functionality like Focused Inbox. From a security perspective it can ensure that you have control over data, such as attachment downloads.

Internet Publishing

The way you publish Exchange Server to the internet is important for a Hybrid deployment. This used to be crucial for all implementations, however, the new Hybrid Agent means that we can avoid many of the more complex areas for Exchange firewall and SSL certificate configuration for simple deployments.

There are a number of areas you must consider though:

  • Autodiscover – In a Hybrid environment the Autodiscover service on-premises will be used by both on-premises mailboxes and Exchange Online mailboxes in Office 365. If you are moving to a model where users can access their mailboxes anywhere, then you will need to publish Autodiscover externally.
  • Mail Flow – The Hybrid Agent removes the need to publish Exchange over HTTPS for mailbox moves and free/busy access. However, we’ll still need to allow mail flow between on-premises and Exchange Online. This requires TCP/25 connectivity both to and from Exchange Online Protection.
  • Outbound access from Exchange servers to Exchange Online. Although the Hybrid Agent will allow access from Exchange Online to on-premises servers, your servers will still need to connect outbound for both the Hybrid Agent itself, and for requests such as free/busy.
  • Client Access to Office 365. You’ll also need to ensure that all Office 365 clients like Outlook can access the service. Ideally this will be direct connection (instead of via a proxy server) accessing Office 365 by the fewest number of hops to the closest Microsoft Point of Presence. Use the Office 365 Network Onboarding Tool as a standing point.

Ms Exchange Online

In our example Exchange Organization, we’ve got a valid, third-party SSL certificate configured for Exchange Server for both our SMTP namespace (smtp.exchangelabs.co.uk) and HTTPS (autodiscover.exchangelabs.co.uk and outlook.exchangelabs.co.uk). We’ve allowed direct connectivity outbound on HTTPS to the required Office 365 and Exchange Online IP address ranges and SMTP connectivity to and from Exchange Online Protection.

Summary

In part one, we’ve selected the migration method to use for migration to Exchange Online, focusing on a Hybrid migration. We’ve then performed the core pre-requisite step for Exchange Hybrid – synchronizing Active Directory using Azure AD Connect. Finally, we’ve examined other areas, such as archiving, clients and connectivity.

In part two, we’ll implement Exchange Hybrid and perform mailbox moves.

Ms Exchange Online Outage

Alternatively, you can download the full step-by-step guide here.