Microsoft 365 Platform Configuration and Provisioning

Overview

CloudM Migrate includes a number of platform configuration and provisioning options for Microsoft 365 migration that enable advanced automation scenarios. These options can be executed during the migration process and will run as part of the migration of users' data. They allow you to automate many of the tasks that run in parallel with Microsoft 365 data migration such as account provisioning, licensing and OneDrive activation. Running these platform configuration tasks as part of the data migration means technicians can save time and reduce effort during the migration process.

In some cases these options can take a long time to run, as they are automating actions within your Microsoft 365 tenant.

Performing any of these actions may result in changes to your Microsoft 365 license utilization. You must ensure that you have sufficient unused licenses available for the actions that you wish to execute.

Getting Started

CloudM Migrate utilises remote Powershell scripts to execute the configuration and provisioning tasks. This means there are some prerequisites that must be installed and configured on the primary server, but they are not required on any secondary servers.  

If any of these modules are not installed, you will be notified within the interface. If you are using CloudM Migrate Hosted, these modules are already installed and configured.

Exchange Online

https://docs.microsoft.com/en-us/powershell/exchange/exchange-online/connect-to-exchange-online-powershell/connect-to-exchange-online-powershell?view=exchange-ps

System Requirements

  • Windows 10
  • Windows 8.1
  • Windows Server 2016
  • Windows 7 Service Pack 1 (SP1)*

* For older versions of Windows, you need to install the Microsoft.NET Framework 4.5 or later and then an updated version of the Windows Management Framework: 3.0, 4.0, or 5.1 (only one). For more information, see Installing the .NET Framework, Windows Management Framework 3.0, Windows Management Framework 4.0, and Windows Management Framework 5.1.

Azure AD Powershell

https://docs.microsoft.com/en-us/powershell/azure/active-directory/install-adv2?view=azureadps-2.0

System Requirements

  • Windows 10
  • Windows 8.1 Pro
  • Windows 8.1 Enterprise
  • Windows 7 SP1
  • Windows Server 2016 TP5
  • Windows Server 2012 R2
  • Windows Server 2008 R2 SP1

Sharepoint Online Management Shell

https://www.microsoft.com/en-gb/download/details.aspx?id=35588

System Requirements

  • Windows 10 ,
  • Windows 7 Service Pack 1,
  • Windows 8,
  • Windows Server 2008 R2 SP1,
  • Windows Server 2008 Service Pack 2,
  • Windows Server 2012,
  • Windows Server 2016
  • PowerShell 3.0

Running Tasks

Before utilizing any of the tasks, please specify values for Usage Location and License using the drop down lists. These options are used with several of the scripts.

  • Usage Location: Defines the geographical location of the user who is being assigned an Office 365 license.
  • License: Defines the license that you want to assign to users using CloudM Migrate.
  • SKU Identifier: The SKU Code associated with your selected license. Automatically populated but may be overridden.

All tasks can be accessed via the destination platform configuration section. Scripts are separated into 4 sections:

  • Run before the whole migration (Global, Start)
  • Run before each user migration (User, Start)
  • Run after the whole migration (Global, End)
  • Run after each user migration (User, End)

Tasks can be executed together, enabling you to automate several actions within the migration process. They are enabled by ticking the checkbox next to the item.

AzureAD

Support for the 32-bit version of the Microsoft Azure Active Directory (AzureAD) Module for Windows PowerShell was discontinued in October of 2014. As such, options that depend upon this module will be unavailable in the x86 version of CloudM Migrate.

 

 

Available Tasks

In total there are 10 available pre-built tasks and the function of each is detailed below.  In parentheses are linked tasks which can't be run together with the specified task. See the "Licensing vs Global Scripts" section below for more information.

 

Run before the whole migration

1. Create Root Public Folder Mailbox

Creates a Root Public Folder Mailbox if it does not already exist and assigns permissions to it. This will be run at the start of a migration.
This script is recommended when migrating Exchange Public Folders to Microsoft 365.

2. Provision OneDrive for Business for All Licensed Users (3,7,8)

Provision OneDrive for Business for All Licensed Users if Microsoft 365 plan includes OneDrive. This will be run at the start of a migration.

3. License and Provision OneDrive for Business for All Users (2,4,7,8,9)

License and Provision OneDrive for Business for All Users with Full License available. The script will only process unlicensed users. You can assign licenses only to user accounts that have the UsageLocation property set. Some Microsoft 365 services are not available in certain countries. This will be run at the start of a migration.

4. License Users for Exchange & Microsoft (3,8,9)

License User for Exchange & Office Only. The script will only process an unlicensed user.  You can assign licenses only to user accounts that have the UsageLocation property set. Some Microsoft 365 services are not available in certain countries.  This will be run for each user at the start of their migration.

5. Enable Mailbox Archive All Users (10)

Enables archiving on all user mailboxes. This will be run at the start of a migration. This script is recommended when migrating to Exchange Online Archive.

 

Run before each user migration     

6. Check User Exists & Create

Check if a Mailbox, or Group exists for the User and create if it does not.  This will be run for each user at the start of their migration.  Note: new users are not guaranteed to be provisioned immediately in Microsoft 365 and may not be available when migration for that user begins. If this is the case, the migration will fail with an error indicating that the user does not exist / could not be found.

7. Provision OneDrive for Business for User (2,3,8)

Provision OneDrive for Business for User if the Microsoft 365 plan includes OneDrive. This will be run for each user at the start of their migration.

8. License and Provision OneDrive for Business for User (2,3,4,7,9)

License and Provision OneDrive for Business for User with Full License available. The script will only process an unlicensed user.  You can assign licenses only to user accounts that have the UsageLocation property set. Some Microsoft 365 services are not available in certain countries. This will be run for each user at the start of their migration.

9.  License User for Exchange & Microsoft (3,4,8)

License User for Exchange & Microsoft Office Only. The script will only process an unlicensed user.  You can assign licenses only to user accounts that have the UsageLocation property set. Some Microsoft 365 services are not available in certain countries.  This will be run for each user at the start of their migration.

10. Enable Mailbox Archive per User (5)

Enables archiving on a single user mailbox. This will be run for each user at the start of their migration.

Licensing vs Global Scripts 

Execution/provision of licensing happens asynchronously and is not guaranteed to be immediate. As there is no way of knowing when these operations complete, or whether they have completed successfully, we do not allow certain combinations of scripts to be executed concurrently. For example, this means that if you run the global script to provision OneDrive then you cannot run the per-user script to provision OneDrive.

With regard to licensing scripts there are few things to note:

  1. Users who are already licensed will be unaffected by the licensing scripts. Only unlicensed users are targeted.
  2. If the user is unlicensed, the first licensing script you run will apply the chosen license. Any subsequent licensing tasks will not affect this user.

Additional Information

Logging from executing the Powershell scripts can be found in a special directory under the CloudM Migrate installation e.g. C:\ProgramData\Cloud Technology Solutions\84a4969f-3d5d-4371-af6f-def973619e95\77b8c5fa-c2df-4ca6-9984-13c5fcd7008b\PowerShell\. Many of the pre-built scripts make use of replacement variables which are assigned values based on the migration configuration. 

Was this article helpful?
0 out of 0 found this helpful