Office 365: 10 hands on tips for a successful migration

These are my top 10 tips and learnings made by leading Office 365 migration projects:

1. Plan your User Identities

Identities are everything in Office 365. Spend more time on planning the identities than on any other service. While for SharePoint/Exchange/Skype/etc. you will be able to do some changes during the migration, if you need to change something for the identities or authentication it can become a nightmare as it affects everything in Office 365.

e.g. you cannot change the sourceAnchor attribute (it is immutable during the lifetime of an object)

2. Use idFix to fix your Active Directory before uploading the users to the cloud.

IdFix is used to perform discovery and remediation of identity objects and their attributes in an on-premises Active Directory environment in preparation for migration to Azure Active Directory.

https://www.microsoft.com/en-us/download/details.aspx?id=36832

3. Create a proof of concept (Poc)

Test the complete migration procedure in a lab or test environment. You will be able to use the environment also for additional testing or issues that might encounter post migration.

4. Evaluate 3rd party tools and ask for trial licenses

Sometimes the Microsoft tools are not enough and you need to go for third party tools. Contact the sales persons and ask for a demo. Many times the sales persons are also the ones that can give you a free trial to evaluate the tool in your test environment.

5. Create a migration runbook for sysadmins

IT administrators from other locations should be able to perform a complete migration by following the steps in the runbook. It doesn’t need to have a specific format, but it needs to be very well documented so every newbie would be able to follow it.

6. Migrate some test users and the IT administrators first

Do not start the velocity migration before getting the confirmation from the local departments that all processes and tools work as expected.

7. Office 365 throttling

Office 365 uses various throttling mechanisms to help ensure security and service availability. You might fight out during the migration that data is being transferred to the cloud at a low speed, and not because of your local network. There are various methods to overcome those throttling policies (e.g. for Exchange you can ask Microsoft support to „relax” the throttling for your tenant during the migration).

8. Change Management

Take care of your users. Communicate all change to users and train them before the migration itself. Remember that a successful project is being measured through happy users.

9. Have a disaster recovery and backup plan

Mistakes can happen. But if they happen, you need to solve them fast.

10. Use the FasTrack Center Benefits

If you have 500 or more Office 365 licenses per tenant, you qualify for the FastTrack center migration services. Do not hope that FastTrack will do the migration for you 😊

Their benefits are described here: https://docs.microsoft.com/en-us/fasttrack/fasttrack-benefit-for-office-365

Configure folder redirection to OneDrive. Sync your Desktop, Documents and Favorites folders to the cloud.

In a recent customer project, we have redirected the user’s personal Desktop, Documents and Favorites folders to the cloud using OneDrive. Users can get to their files from anywhere and the files are safe in OneDrive if anything happens to the devices.

Configure folder redirection in 3 steps

  1. Prevent users from changing the location of their OneDrive folder
  2. Create an environment variable for the OneDrive folder
  3. Configure redirection of Documents, Desktop & Favorites folders to OneDrive
1        Prevent users from changing the location of their OneDrive folder

We will configure a group policy to make sure users sync their OneDrive to the default location and do not change the location of their OneDrive folder.

The group policy is located under:

User Configuration\Policies\Administrative Templates\OneDrive\Prevent users from changing the location of their OneDrive folder

odb1

2        Create an environment variable for the OneDrive folder

Group Policy won’t let us redirect known folders directly to a different location under %userprofile%, so we need to create a new environment variable that contains the location of the folder under %userprofile%.

We’ll use item-level targeting in this environment variable to prevent folders from being redirected until the folder has been created by the sync client.

Under “User Configuration\Preferences\Windows Settings” create a new Environment variable called “OneDriveSync” and set the value to “%userprofile%\”.

e.g. %userprofile%\OneDrive – ranari

In the common tab check the box “Item-level targeting” and define a new item that matches the folder you have defined before “%userprofile%\”.

3        Configure redirection of Documents, Desktop & Favorites folders to OneDrive

Under “User Configuration\Policies\Windows Settings\Folder Redirection”, go to Properties and enable the setting “Basic – Redirect everyone’s folder to the same location” and set the Target folder location to “Redirect to the following location”. For the Root Path type in “%OneDriveSync%\Documents”.

On the Settings tab, clear the “Move the contents of Documents to the new location” check box.

Important:

Leaving this setting enabled could result in data loss when the contents of the Documents folder is merged with the OneDrive folder, if there are files with the same name in both locations.

Configure group policies similarly to redirect the Desktop or Favorites area.

Important Considerations

Note that it is not supported to have existing content automatically migrated by Group Policy to the OneDrive folder. With automatic file migration, there is a potential for data loss in cases where there are files in both locations that have matching file names.

Once the redirect to OneDrive is in place, we’ll need to migrate the user’s data from the original location on their local disk to the OneDrive folder.

Keep in mind that as new users and computers come online over time, users may still save files to their Documents folder before they configure the OneDrive sync client, and these files would then need to be moved to the OneDrive folder after the redirect takes place.

User Experience

After everything is set up, here is how the user experience will look like:

  1. The user logs in to Windows and gets the OneDrive set up page. odb10
  2. He types in his e-mail address first.lastname@ranari.com and clicks Sign in.
  1. If a new login window appears, types in the credentials again and clicks ok. (after adding the sites through GPO in the IE zones this step might not be necessary)
  1. Go through the Wizard without changing any settings, click Next every time.
  2. The Folder Redirection will be configured automatically on the next reboot.
  3. All the existing files need to be manually copied to the new locations. Or they can be copied via script, which I will cover in a separate article.odb12

Getting Facebook adds from a site you just visited? Facebook Pixel

I keep seeing adds on Facebook from an online shopping site that I just visited. Does this sound familiar? It happens to me all the time.
The feature that makes this possible is called Facebook Pixel. By placing Facebook Pixel Code on the header of your website, when someone visits your site and takes an action like completing a purcase, the Facebook Pixel is triggered and reports the action. You will then be able to reach to the customer again through future Facebook ads.

Curios to see if a site uses Facebook Pixel?

1. Open in Internet Explorer any add suggested by Facebook.
2. Press F12 to switch to the Developper Tools.
3. Press Ctrl+F to open the search query and search for „fbevents.js”.
4. Finding a match like this one will confirm that the site is using Facebook Pixel Events.

To set up Facebook Pixel on your own site follow these steps

1. Create a Facebook pixel from the Pixels tab in Facebook Add Manager available at https://www.facebook.com/ads/manager/pixel/facebook_pixel

2. Update the website’s header section with the code provided by Facebook Pixel. The code looks like this:

3. Track specific actions people take on your website by setting up the Facebook Pixel in the Ads Manager https://www.facebook.com/ads/manager/pixel/facebook_pixel
You can choose between following events to track on Page Load or Inline Action: Purchase, Generate Lead, Complete Registration, Add Payment Info, Add to Cart, Add to Wishlist, Initiate Checkout, Search, View Content.

You can also create your own custom events.

Sources and more information
Facebook Pixel
https://www.facebook.com/business/help/search/?query=facebook%20pixel

Pixel Events – Facebook Tag API
https://developers.facebook.com/docs/ads-for-websites/pixel-events/v2.10

Office 365 admin roles

 

I see confusion when it comes to Office 365 administrator roles. Let’s make things clear!

There are following types of admin roles for Office 365:

Administrator type Functions
global can do and has access to everything
billing makes purchases, manages subscriptions, manages support tickets, and monitors service health
password can only reset user passwords
user management resets passwords, monitors service health, adds and deletes user accounts, manages service requests
service used to open support tickets with Microsoft; has view only permissions
Exchange/Skype for Business/SharePoint/Power BI service manages the respective service

Admin roles can be assigned to users from the Office 365 portal or via PowerShell.

In the Office 365 portal

  1. Switch to the admin center.
  2. Select users > Active users.
  3. Click Add a user (for new users) or Edit a user (for existing users) > Roles.
  4. Select the desired admin roles.

This is a screenshot when adding a new user:

adduser

Using PowerShell

Add-MsolRoleMember -RoleMemberEmailAddress  <String> -RoleName <String>

Example:

Add-MsolRoleMember -RoleMemberEmailAddress  “john.doe@itconsultpro.com” -RoleName “SharePoint Service Administrator”

 

To get the list of all values for the RoleName parameter, use the Get-MsolRole cmdlet.

Add a filter on the results to retrieve only the administrator roles:

Get-MsolRole | Where-Object {$_.Name -like ‘*administrator*’}

Share a new WordPress blog post to Facebook newsfeed automatically with Microsoft Flow

 

Whenever you publish a new blog post on WordPress, the good news can be automatically shared on your Facebook timeline. With Microsoft Flow, part of the Office 365 suite. Here is how:

1. Your Microsoft Flow needs to authenticate to WordPress and Facebook. Create connections for each account.

a. Login on the Office 365 portal.

b. Select the Flow tile from the App Launcher.

2

c. In the settings menu at the top-right of the screen select Connections.

01

d. On the My connections page click Create Connection. 

02

e. In the list of Available connections, select the connection that you want to set up, such as Facebook or WordPress. Then, enter your credentials to set up the connection. Click Approve to allow Flow to login on your behalf.

5

2. Create a new blank flow.

Go to a modern SharePoint list and select Create a flow.

1

Alternatively on the Office 365 portal select My flow and Create from blank.

6

3. Add the needed actions and conditions.

a. Look for the action WordPress – When a post is created.

7

b. Click New step and Add an action.

8

c. Select Facebook – Post to my timeline and add your customized status message.

9

4. Save the flow and it will get automatically enabled.

TIP

Actions displayed when adding new steps are filtered on the ones compatible with the flow logic. You can still manually search for and add other actions, but these will eventually not work.

e.g. at the time of this writing, posting to a SharePoint page fails with the message 200 Insufficient permission to post to target on behalf of the viewer

10

 

Track Facebook posts with Microsoft SharePoint and Microsoft Flow

Recently, a new cloud service for automating workflows between different apps and services was released – Microsoft Flow. You can get notifications, synchronize files, collect data and more, and have plenty of services that you can to choose from.

Many times we were asked for an easy-to-use tool to track the company’s Facebook timeline. If Office 365 is already in place, Microsoft Flow is a quick option. The prebuild template Save updates from Facebook to a SharePoint List will do most of the job, but you can create your own template and adapt it to your business needs. e.g. create a new SharePoint item for each new Facebook post mentioning “blackfriday” or “ticket” and then use the SharePoint list for further operations

How it works:

1. To retrieve data from Facebook or any other service, your Flow needs to authenticate. You should create a “Connection” to Facebook:

a. Login on the Office 365 portal.

b. Select the Flow tile from the App Launcher.

2

c. In the settings menu at the top-right of the screen select Connections.

01

d. On the My connections page click Create Connection.

02

e. In the list of Available connections, select the connection that you want to set up, such as Facebook. Then, enter your credentials to set up the connection.

2. Go to a modern SharePoint list and select Create a flow.

1

3. Select Create a blank flow.

4. Add the needed actions and conditions.

3

5. Save the flow and it will get automatically enabled.

In the current example, we will get a new item created for each new post containing the word “ticket”.

4

Other Flow templates for SharePoint which caught my attention:

The full list with SharePoint Flow Templates to be found here: https://flow.microsoft.com/en-us/services/shared_sharepointonline/sharepoint/