Custom Office 365 Login Screen Branding

You can add your own branding to your users Office 365 login screens via the Azure admin portal. The level of customisation that you get depends on the version of Azure Active Directory that you’ve signed up for.

What’s Azure Active Directory?

Azure Active Directory might not sound familiar to you, though it underpins every Office 365 organisation. All of your Office 365 users are stored in your Azure Active Directory, which is included in Office 365.

How to set up the custom branding for Office 365 login screens

  1. Login to Office 365 as an administrator at https://portal.office.com
  2. Click the App Launcher/Waffle button on the top left of the screenOpen Office 365 App Launcher To Start SetupOfBranding
  3. Click the Admin tileOpen Office 365 Admin Center To Setup Branding
  4. On the left menu, scroll down to Azure ADOpen Azure AD To Customise Office 365 Login Branding
  5. You may need to sign up for an Azure subscription, though you won’t have to put any credit card details in yet.
  6. Click Active Directory on the left menu once you’ve signed up.Select Azure Active Directory
  7. Click the Active Directory that has the same name as your Office 365 subscription, you will likely only have one listed here. Ours is called Ozbizweb Group.Open Azure Active Directory
  8. Click Configure, then click Customize BrandingConfigure Azure Active Directory And Customise Branding

The Customize Default Branding section gives you a few options to customise your Office 365 login experience.Customise Office 365 Default Branding

Banner Logo

Size: 280 x 60 (Max is 300 x 60)

The Banner logo is the logo that appears above the Office 365 login fields. It supports JPEG, though a PNG image with a transparent background is recommended.

Square Logo

Size: 240 x 240

The square logo is used to represent user accounts in your organisation, on Azure AD web UI and in Windows 10. You should also add this one as a PNG with a transparent background, though JPEG is also supported.

Square Logo, Dark theme

Size: 240 x 240

You can upload a separate image for this one if the previous square logo won’t look good on dark backgrounds. Again, PNG with a transparent is recommended, though JPEG is supported.

User ID Placeholder

Typically, this is [email protected] and is shown in the user ID input field. You can replace this with [email protected] if you like. Though you should leave it blank if you’re making apps using Azure AD that will support external users.

Sign In Page Text Heading

This heading will appear above the customised sign in page text which can appear at the bottom of the Office 365 Sign in screen.

Sign In Page Text Body

This can be a short message at the bottom of the Office 365 login screen that can give more information to the users. You can use this to display welcome text, information about password resets, or contacting the helpdesk. This one can’t be longer than 500 characters (250-300 characters recommended).

Click the arrow to proceed to the next screen. This is where you can add the background image that will appear when a user enters their username.Customise Second Page OfOffice 365 Default Branding

Sign In Page Illustration

Size: 1420 x 1200

The message from Microsoft here is to use an abstract illustration or picture. Since the image gets resized and cropped, avoid using rasterized text and keep the “interesting” part of the illustration in the top-left corner. It can be a JPEG, GIF or PNG and should be about 300kb in size. Max size is 500kb.

Sign In Background Colour

Certain users may connect to Office 365 on low bandwidth connections, so you can customise the background colour of the Sign In Page Illustration section which will appear while the image loads. The default is the Office 365 orange/red, though this can be set to a hexadecimal colour code that suits your brand eg #73A2D1

Show or Hide Keep me signed in or KMSI

If you don’t want your users to choose to stay signed into devices, you can hide the ‘Keep me signed in’ checkbox here.

Post Logout Link Label

This is the link text that will appear when your users log out of Office 365. eg. Return to Ozbizweb Group website.

Post Logout Link URL

This is the URL that you’d like the Post Logout Link Label to redirect your users too. Eg. http://www.ozbizweb.com.au

Once you’ve applied your changes, click the Tick icon and wait for the changes to be applied.

Changes Are Saved For Office 365 Branding

 

You can test them out in an In-Private window (CTRL-Shift-P in Edge/Internet Explorer, CTRL-Shift-N in Google Chrome). Just enter your email address, and you should see some of the changes are taking effect. Note that it may take up to an hour to see your branding changes.

The free tier of Azure Active Directory doesn’t appear to display all the customised branding elements. Though some of them, like the Banner Logo and custom background colour before the Sign In Illustration loads, do appear.

Some Office 365 Branding Changes Available For Free

Want to see all your Office 365 login screen branding?

Displaying all of your branding changes is one of the many benefits of Azure Active Directory Premium, and the good news is that you can try it out for free. If you decide that you don’t want to go ahead with Azure Active Directory Premium for all your users, and just want it for the branding, you can assign it to just one user. This seems to enable all the custom branding elements for all users in your organisation.

Here’s how to activate an Azure Active Directory Premium Trial

  1. In the Azure portal, click the quick start cloud icon.Open Quick Start In Azure Active Directory
  2. Scroll down to Get Azure AD Premium and click Try it now.Try Azure Active Directory Premium
  3. Click Activate Trial and the bottom of the screen.Activate Trial For Azure Active Directory Premium
  4. Click the tick to get started. This trial will not auto-renew, and you won’t be charged after the 30 days are up.Activate Azure Active Directory Premium Trial
  5. Wait for the trial to start.Starting Azure Active Directory Premium Trial
  6. Make sure the Azure Active Directory Premium plan is selected and click Assign at the bottom of the screen.Assign Azure Active Directory Premium Licenses
  7. You will be presented with a list of users in your organisation, mouse over the users and click the + icon to select them for license assignment.Choose Users For Azure Active Directory Premium
  8. Click the tick icon and wait for the License plan operation to complete.Licenses Assigned For Azure Active Directory Premium
  9. Open an In-Private window, navigate to https://portal.office.com and enter a user’s email address. You should see all the branding changes you’ve implemented are now active!Office 365 Branding Changes Are Applied

We usually use Skykick for our Office 365 migrations as it helps us to automate the process and ensures a seamless transition onto Exchange Online. Occasionally Skykick will be unavailable to us, which is the case for a small migration I have underway.

The customer is migrating away from a Google Apps tenant that we don’t have administrative access to. This means we’re unable to set up the Google Service Account required by SkyKick, and have to migrate mail, contacts and calendars separately onto Office 365.

Since we have the usernames and passwords for the Google Apps/Google for Work accounts, we can run an IMAP migration within the Exchange Admin Centre. There are some instructions here that detail this process.

If the stars align for you, the migration will run without an issue. Though just in case things go wrong, here’s some solutions to some common IMAP migration issues.

Error: We had trouble signing into this account. Please confirm that you’re using the correct username and password.

Office 365 IMAP Migration Failed Due To Incorrect Password

If you’re receiving this error message and you’re 100% sure that all user details are correct, you may need to Allow less secure apps in the users’ Google Security Settings.

To do this, log on as the user to: https://myaccount.google.com/security?pli=1#signin
If Allow less secure apps is set to OFF, set it to ON.

Allow Less Secure Apps For Google Apps To Office 365 Migration

Check Allow Less Secure Apps For Google Apps To Office 365 Migration

This will allow Office 365 to connect to your accounts via IMAP to download the mail.

E-mail migration batch “migrationname” has finished – with errors

If you try to run the migration again, you will probably get an error report via email that states E-mail migration batch “migrationname” has finished – with errors.

Office 365 IMAP Email Migration Batch Failed

The error message tells you that the migration users already exist, and will need to be removed before we can migrate their mail. The usual method to do this would be to delete the Migration Batch from the Exchange Admin Center.

When attempting to delete the migration, you may notice that the migration is stuck with a status of Removing.

Removing a Migration Batch via PowerShell

To remove a Migration Batch that is stuck with a status of removing, you may need to remove it via PowerShell.

To do this, you’ll need to connect to Exchange Online via PowerShell

Run Get-MigrationBatch

Run Get-MigrationBatch via Powershell in Office 365

You’ll get a list of the current Migration Batches. In my screenshot the status is Syncing, since I forgot to take a screenshot while it was stuck on Removing.

To remove a Migration that’s stuck on Removing or Corrupted, run Remove-MigrationBatch -Identity migrationname

Remove-Migration Batch Via Exchange Online

Remember to replace name with the name of your migration.

If it still does not remove, run Remove-MigrationBatch -Identity migrationname -Force to force it’s removal.

 

The user “[email protected]” already exists, but the migration batch that includes it couldn’t be found

Unfortunately, if you try to run the migration again, you may get the following error in your emailed error report:

The user “[email protected]” already exists, but the migration batch that includes it couldn’t be found. Before you try migrating the user within a batch again, please remove the existing user by running the Remove-MigrationUser cmdlet.

At first I tried to remove all the migration users by signing into Exchange Online via PowerShell and running Get-MigrationUser to get a list of all the current migration users.

Get-MigrationUser In Exchange Online

Then I ran Get-MigrationUser | Remove-MigrationUser

Run Get-MigrationUser Then Remove-MigrationUser

This gave me the following error message for each one:

Could not load the batch information for migration user ’[email protected]’. Associated migration subscription cannot be removed

To fix this, run Get-MigrationUser | Remove-MigrationUser -Force

Force Removal Of Office 365 Migration Users

You can run Get-MigrationUser again to confirm that there are no more registered Migration Users

Save yourself some time

If you want to save some time and force the removal of both Migration Batches and Migration Users, just run the following PowerShell commands in order:

Remember to replace migrationname with the name of your migration batch.

Remove-MigrationBatch -Identity migrationname -Force
Get-MigrationUser | Remove-MigrationUser -Force

Now, try to run the migration again and it should proceed without an issue.

Successful Office 365 Migration From Google Apps

There are two ways to set up an Out of Office Automatic Reply when using Office 365. You can use Outlook, or the Outlook Web App.

Set up an Out of Office reply via Outlook

  1. Open Outlook
  2. Click FileSetup Out Of Office in Outlook
  3. Click Automatic RepliesSetup Automatic Reply for Office 365
  4. Enter your Automatic Reply messageSave Out of Office Message In Outlook For Office 365
  5. You can configure different automatic replies for senders inside or outside the organisation. You can also choose to send Automatic Replies indefinitely, or during a specific time frame.

Set up an Out of Office reply via Outlook

  1. Log into https://outlook.office365.com
  2. Click the Settings cog on the top right:Open Outlook Web App Settings
  3. Click Automatic RepliesOpen Automatic Replies In Office 365 Outlook Web App
  4. Enter your Automatic Reply messageConfigure Automatic Replies Outlook Web App
  5. You can configure different automatic replies for senders inside or outside the organisation. You can also choose to send Automatic Replies indefinitely, or during a specific time frame.
  1. Tap SettingsOpen Settings To Setup Office 365 Email On iPhone
  2. Tap Mail, Contacts, CalendarsTap Mail Contacts Calendars
  3. Tap Add AccountTap Add Account
  4. Tap ExchangeTap Exchange Account
  5. Enter your Office 365 email address and password and tap Next.Enter Office 365 Username And Password
  6. Wait for it to show verifiedWait For Office 365 Username And Password To Verify
  7. Select the services you want to sync to your iPhone or iPadSelect Office 365 Services To Sync
  8. Open the mail app on your phone to view your new mail account. Your Calendar will appear under the Calendar App, Contacts will appear under the Contacts app.

Microsoft Power BI lets you build dashboards and interactive reports from your existing data. It can connect to pretty much any data source and also comes with a bunch of built in connectors to services like Google Analytics, Facebook, Quickbooks Online etc.

We’ve been working on a range of Power BI connectors for our accommodation provider clients, providing them with updating business intelligence dashboards to monitor their Xero Accounting, NewBook booking data, Office 365 activity, MailChimp, Facebook, and now their phone calls.

Since phone numbers are unique, this data can be matched against existing customer data in Power BI, so our clients can find out which customers are calling, how often, and for how long.

This is a sample dashboard I put together this morning using the phone data we’re importing for a Queensland tourist park. The data comes from FoneDynamics, an online call tracking and analytics service based in Australia. Power BI Dashboard Phone Calls

Clicking on dashboard elements opens the interactive Power BI reports. From here, you can drill down into the data and see how the elements relate to one another. In this example, we’ve selected ‘No’ under the Repeat callers chart. This gives us some pretty detailed information about the first time callers into the tourist park. This could include how long they spent on the phone, how many first time callers went unanswered, how long it took to answer these calls etc.Phone Call Business Intelligence Dashboard

Since we’re using Power BI, we can open and interact with these reports on any device. Here’s the same dashboard running on an iPhone, where you can open the charts and set alerts on important data. For example, get notified when the missed calls for the month exceeds a certain number.FoneBox Power BI Dashboard

The tech stuff

For this solution, we had to pull the data from a collection of CSV files stored on an FTP site. Power BI will connect to CSV files out of the box, though not via FTP and it won’t join multiple CSVs into a single dataset.CSVs For Import Into Power BI

I wrote a console app last night to connect to the FTP site, pick up each CSV, collect the phone records from it and upload them into an Azure Storage Table.Extract Phone Data for Business Intelligence On PowerBI

Here’s the data in an Azure Storage Table.

Power BI Phone Data On Azure Storage

Once the data for the previous day’s phone records is uploaded into Azure Table Storage, I set up an Azure Web Job to run the process once a day.Azure Web Jobs To Power BI

Now that we have a regular, up to date source of phone data, we can connect to it using Power BI Desktop app. We can use this app to create our reports before publishing them to Power BI Online.Connect To Azure Table Storage Via PowerBI

If you’d like to learn more about setting up Business Intelligence dashboards for your data, send an email with what you have in mind and we might be able to make it happen.

Once you’ve setup Azure Backup to protect your Azure Virtual Machine (see this guide for more info), the process to restore it is quite simple. I recommend running test restores on a regular schedule to make sure it’s working correctly.

To restore an instance of your Azure Virtual Machine follow this quick guide.

  1. Log into https://manage.windowsazure.com
  2. In the left side menu, select “Recovery Services” Restore Azure Virtual Machine from Azure Backup
  3. Click to open the backup vault you created for the virtual machine.
  4. Click the “Protected items” tab across the top. Open Protected Items Under Azure Recovery Services
  5. Click “Restore” down the bottom to restore the selected virtual machine.Restoring Azure Virtual Machine Under Azure Recovery Services
  6. Select a recovery point and click next.
  7. Fill out the restore instance details. You will need to give it a unique name, but make sure you select the appropriate cloud service, storage account, and virtual network if you’re following this in a disaster recovery scenario.Choose Azure Virtual Machine Restore Instance
  8. Click the tick in the bottom right to start the restore process
  9. Once the restore is completed you can download the new RDP connect file and test.

 

If you’re running Azure Virtual Machines in production, you’ll probably want to protect them with Azure Backup. The good news is Azure provides a simple way to protect an entire virtual machine, so you can easily restore it if things go wrong.

Protecting Virtual Machine instances differs from the typical Azure Backup client that is usually installed on client PCs and On-premises servers.

Here’s how to set Azure Backup for an Azure Virtual Machine:

  1. Log into https://manage.windowsazure.com
  2. Open Recovery ServicesBackup Azure VirtualMachine With Recovery Services
  3. Click NewNew Azure Backup Vault
  4. Choose Backup Vault, Quick Create, give it a name and choose to place it in the same region as the virtual machine you’ll be protecting. Quick Create Azure Backup Vault In Azure Recovery Services
  5. The backup vault will appear in Recovery ServicesAzure Recovery Services To Backup Azure Virtual Machines
  6. Click on the vault and scroll down to Protect Azure Virtual Machines. Backup Azure Virtual Machine
  7. Click Discover Virtual Machines. It will take a view minutes. Once discovered, you’ll be notified that virtual machines were found in the same region. Register Azure Virtual Machine
  8. Click Register and choose the Virtual Machine that you want to protect.Registering Azure Server For Protection
  9. Wait for the Virtual Machine status to change to RegisteredRegistering Azure VirtualMachines For ProtectionRegistered Azure VirtualMachine For Protection
  1. Click ProtectProtect Azure Virtual Machine
  2. Choose the virtual machine you just registered.Selec tAzure Virtual Machine For Protection
  3. Choose the Default Policy Settings or configure your own and click Finish

 

We use Microsoft’s AzCopy to move large amounts of data from external sources into Microsoft Azure Storage.

The typical scenario for us is a customer who is moving onto an Azure Virtual Machine, and wants their data stored on that machine.

AzCopy is a versatile command line utility that allows you to move files from another PC or Server into Azure Storage, and then into your Azure virtual machine.

When migrating data to an Azure VM, the solution looks like this:Azcopy Process to Move Data Into Azure

To get started, you need to install AzCopy from here.
Next, create an Azure Storage Account. You can do this in either the old portal or the new portal.
Once you’ve created a storage account, you’ll need to create a storage container. Here is a quick guide for the old portal and the new portal.

Now that you’ve installed AzCopy, created a storage account and a container, you can put together your AzCopy commands. Typically you’ll create two commands, one that uploads your data into Azure Storage, and the other downloads your data from Azure Storage into your Azure Virtual Machine.

Here’s an example that will move local data from E:\NAS into Azure Storage, and then download it to E:\NAS on the destination virtual machine:

To Azure Blob Storage

AzCopy /Source:E:\NAS /Dest:https://<storageaccountname>.blob.core.windows.net/<containername> /DestKey:<LongStorageAccountKey> /S /V:C:\temp\NASDrive.log

From Azure Blob Storage

AzCopy /Source:https://<storageaccountname>.blob.core.windows.net/<containername> /Dest:E:\NAS /SourceKey:<LongStorageAccountKey> /S /V:C:\temp\NASDrive.log

These commands will also create a log file under C:\temp\NASDrive.log

Running the AzCopy commands

Running AzCopy To Migrate Data Into Azure

Open Command Prompt and navigate to the location where AzCopy was installed. Typically this is under “C:\Program Files (x86)\Microsoft SDKs\Azure\AzCopy”

Paste in your first command and run it to start the upload. In the meantime, you can install AzCopy on the destination server.

Once the upload is complete, go to the destination server and run the second command to download the data from Azure Blob Storage.

If you experience errors

AzCopy Warning After Data Migration Into Azure

Occasionally you may experience errors in the AzCopy transfer (usually the upload), where certain files will fail. The solution for this is usually to append the /NC: parameter and run the command again. The /NC: parameter limits the number of concurrent connections to Azure storage. I usually set it to /NC:5, where 5 is the maximum number of concurrent files that will be uploaded. The upper limit of concurrent connections is 512.

Updated command for uploading to Azure Blob Storage

AzCopy /Source:E:\NAS /Dest:https://<storageaccountname>.blob.core.windows.net/<containername> /DestKey:<LongStorageAccountKey> /S /V:C:\temp\NASDrive.log /NC:5

If you’re rerunning the command, you will be asked whether you want to skip files that already exist. Choose to skip All.

Here’s the results of the second transfer.Azcopy Summary For Azure Data Migration You may notice that the number of files transferred in this image is different to the number of files that failed in the previous image. In this case, we removed some unnecessary files before restarting the upload.

AzCopy Documentation

For more information on AzCopy, see the documentation here.

 

Here’s how to create an Azure Storage Account Container in the old Microsoft Azure portal at https://manage.windowsazure.com, assuming you already have an Azure subscription and existing Azure Storage account.

  1. You will need an existing storage account. See this guide for how to create one.
  2. Login to https://manage.windowsazure.com
  3. Open your existing storage account.Open Azure Storage Account
  4. Click Containers then click Create a container:Create Azure Storage Container
  5. Choose a Name and Access type for it:New Azure Storage Container
  6. Click the tick and wait for the container to be created. It should just take a few seconds.Created Azure Storage Container
  7. You can now refer to this container from other services using https://<yourstorageaccountname>.blob.core.windows.net/<yourcontainername> 

    Depending on the Access type you chose (eg. private), you may need your storage account name and primary key to access this container. See the end of this guide for how to retrieve these.

 

Here’s how to create an Azure Storage Account Container, assuming you already have an Azure subscription and existing Azure Storage account.

  1. Firstly you’ll need a storage account. See this guide for how to create one.
  2. Open your storage account by signing into https://portal.azure.com
  3. Click BlobsOpen Azure Storage Account Blobs
  4. Click Containers in the Blob service blade.Azure Storage Container Creation
  5. Create the new container by clicking ‘+ Container’ then choosing a Name and Access type for it:Add Azure Storage Container
  6. You can now refer to this container from other services using https://<yourstorageaccountname>.blob.core.windows.net/<yourcontainername>
    Depending on the Access type you chose, you may need your storage account name and primary key. See the end of this guide for how to retrieve these.